#ifndef LCF_INPUT_H_
#define LCF_INPUT_H_
#include "tensorOperate.h"

class InputLayer : public TensorOperate
{
    public:
        InputLayer(int ifType, int iID, int iMaxSeqNum, DevicesBatchDisptach *iDevicesBatchDisptach, int inC, int inH, int inW);
        virtual ~InputLayer();
        void RealeaseMemory();
        void InputTrainOrPredictData(float *data);
        void ComputeAndCreateOutYInDTensorInfo();
        void CreateParaAndInstance();
        void CompuateOutY(int devID, int seqNum);
        void CompuateOutD(int devID, int seqNum);
        void ComputerYMemRealease(int devID);
        void ComputerDMemRealease(int devID);
        void SaveLayerWeight(int n);
        void LoadLayerWeight();
        int inChannels, inHeight, inWidth;
        int outChannels, outHeight, outWidth;
};

#endif