22 #ifndef SINGA_NEURALNET_INPUT_LAYER_H_
23 #define SINGA_NEURALNET_INPUT_LAYER_H_
27 #include "neuralnet/layer.h"
28 #include "utils/data_shard.h"
58 inline int batchsize()
const {
return batchsize_; }
59 virtual const Record& sample()
const {
65 virtual const std::vector<Record>&
records()
const {
73 std::vector<Record> records_;
84 void Setup(
const LayerProto& proto,
int npartitions)
override;
97 void Setup(
const LayerProto& proto,
int npartitions)
override;
98 void OpenLMDB(
const std::string& path);
99 void ComputeFeature(
int flag,
Metric *perf)
override;
100 void ConvertCaffeDatumToRecord(
const CaffeDatum& datum,
101 SingleLabelImageRecord* record);
107 MDB_cursor* mdb_cursor_;
108 MDB_val mdb_key_, mdb_value_;
125 virtual void ParseRecords(
int flag,
const std::vector<Record>& records,
131 CHECK(
false) <<
"Parser layer has not gradient blob";
141 void Setup(
const LayerProto& proto,
int npartitions)
override;
142 void ParseRecords(
int flag,
const std::vector<Record>& records,
151 void Setup(
const LayerProto& proto,
int npartitions)
override;
152 void ParseRecords(
int flag,
const std::vector<Record>& records,
156 float norm_a_, norm_b_;
164 void Setup(
const LayerProto& proto,
int npartitions)
override;
165 void ParseRecords(
int flag,
const std::vector<Record>& records,
193 #endif // SINGA_NEURALNET_INPUT_LAYER_H_
Base layer for parsing the input records into Blobs.
Definition: input_layer.h:115
void ComputeFeature(int flag, Metric *perf) override
Compute features of this layer based on connected layers.
Derived from ParserLayer to parse label from SingaleLabelImageRecord.
Definition: input_layer.h:139
ConnectionType dst_layer_connection() const override
Return the connection type of this layer and all dst layers.
Definition: input_layer.h:119
ConnectionType dst_layer_connection() const override
Return the connection type of this layer and all dst layers.
Definition: input_layer.h:55
void Setup(const LayerProto &proto, int npartitions) override
Setup layer properties.
Derived from ParserLayer to parse RGB image feature from SingaleLabelImageRecord. ...
Definition: input_layer.h:162
void ComputeGradient(int flag, Metric *perf) override
Compute gradients for parameters and connected layers.
Definition: input_layer.h:48
Layer for loading Record from DataShard.
Definition: input_layer.h:80
Base layer for reading records from local Shard, HDFS, lmdb, etc.
Definition: input_layer.h:46
void Setup(const LayerProto &proto, int npartitions) override
Setup layer properties.
void ComputeGradient(int flag, Metric *perf) override
Compute gradients for parameters and connected layers.
Definition: input_layer.h:185
Data shard stores training/validation/test tuples.
Definition: data_shard.h:51
Blob< float > * mutable_grad(const Layer *layer) override
Definition: input_layer.h:52
void ComputeGradient(int flag, Metric *perf) override
Compute gradients for parameters and connected layers.
Definition: input_layer.h:118
Layer for prefetching data records and parsing them.
Definition: input_layer.h:181
void ParseRecords(int flag, const std::vector< Record > &records, Blob< float > *blob) override
Parse records from DataLayer into blob.
Base layer class.
Definition: layer.h:44
Derived from ParserLayer to parse MNIST feature from SingaleLabelImageRecord.
Definition: input_layer.h:149
void Setup(const LayerProto &proto, int npartitions) override
Setup layer properties.
void ComputeFeature(int flag, Metric *perf) override
Compute features of this layer based on connected layers.
void ParseRecords(int flag, const std::vector< Record > &records, Blob< float > *blob) override
Parse records from DataLayer into blob.
Performance mtrics.
Definition: common.h:85
Blob< float > * mutable_grad(const Layer *layer) override
Definition: input_layer.h:127
virtual void ParseRecords(int flag, const std::vector< Record > &records, Blob< float > *blob)=0
Parse records from DataLayer into blob.
void Setup(const LayerProto &proto, int npartitions) override
Setup layer properties.
virtual const std::vector< Record > & records() const
Definition: input_layer.h:65
void ParseRecords(int flag, const std::vector< Record > &records, Blob< float > *blob) override
Parse records from DataLayer into blob.
void ComputeFeature(int flag, Metric *perf) override
Compute features of this layer based on connected layers.