1 原则,类内声明,类外定义
2.举例
类的定义 包括4个枚举和4个字符串数组
Configure.h
class Configure
{
public:
enum DataProviderSets
{
CIFAR10 = 0,
MNIST = 1,
};
enum LossFunctions
{
CrossEntropy = 0,
LogisticRegression = 1,
MeanSquareError = 2,
NegativeLogLikelihood = 3,
};
enum LayerTypes
{
Convolutional = 0,
ConvolutionalSubsampling = 1, // Patrice Simards layertype
FullyConnected = 2,
Input = 3,
Normalization = 4,
RBF = 5,
SoftMax = 6, // for logistic regression
Subsampling = 7,
};
enum ActivationFunctions
{
AbsTanh = 0,
AveragePoolingTanh = 1,
Gaussian = 2,
Linear = 3,
Logistics = 4,
MaxPoolingTanh = 5,
MedianPoolingTanh = 6,
None = 7,
Tanh = 8,
};
static std::string DataProviderSets[2];
static std::string LossFunctions[4];
static std::string LayerTypes[8];
static std::string ActivationFunctions[9];
Configure();
~Configure();
};
std::string Configure::DataProviderSets[2] = {"CIFAR10", "MNIST"};
std::string Configure::LossFunctions[4] = {"CrossEntropy", "LogisticRegression","MeanSquareError", "NegativeLogLikelihood"};
std::string Configure::LayerTypes[8] = {"Convolutional","ConvolutionalSubsampling","FullyConnected","Input","Normalization","RBF","SoftMax", "Subsampling"};
std::string Configure::ActivationFunctions[9] = {"AbsTanh","AveragePoolingTanh","Gaussian","Linear","Logistics","MaxPoolingTanh","MedianPoolingTanh","None","Tanh"};