def __init__(self): # 初始化构造卷积层:输入宽度,输入高度,通道数目,滤波器宽度,滤波器高度,滤波器数目,补0数目,步长,激活器,学习速率 # 输入28*28 一通道,滤波器5*5的6个,步长为1,不补零,所以输出为24*24深度6 self.cl1 = CNN.ConvLayer(28, 28, 1, 5, 5, 6, 0, 1, Activators.SigmoidActivator(), 0.02) # 构造降采样层,参数为:输入宽度、输入高度,通道数目,滤波器宽度,滤波器高度,步长 # 输入24*24,6通道,滤波器2*2,步长为2,所以输出为12*12,深度保持不变为6 self.pl1 = CNN.MaxPoolingLayer(24, 24, 6, 2, 2, 2) # 初始化构造卷积层:输入宽度、高度、通道数目、滤波器宽度、滤波器高度、滤波器数目、补零数目、步长、激活器、学习速率 # 输入12*12,6通道,滤波器5*5的12个,步长为1,不补零,所以输出为8*8深度12 self.cl2 = CNN.ConvLayer(12, 12, 6, 5, 5, 12, 0, 1, Activators.SigmoidActivator(), 0.02) # 构造降采样层,参数为输入宽度、高度、通道数、滤波器宽度、滤波器高度、步长 # 输入8*8,12通道,滤波器2*2,步长为2,所以输出为4*4,深度保持不变为12。共192个像素 self.pl2 = CNN.MaxPoolingLayer(8, 8, 12, 2, 2, 2) # 全连接层构造函数,input_size:本层输入向量的维度,output_size:本层输出向量的维度,activator:激活函数 # 输入192个像素,输出为10种分类概率,学习速率为0.05 self.fl1 = DNN.FullConnectedLayer(192, 10, Activators.SigmoidActivator(), 0.02)
def __init__(self): # 初始化构造卷积层:输入宽度、输入高度、通道数、滤波器宽度、滤波器高度、滤波器数目、补零数目、步长、激活器、学习速率 self.cl1 = CNN.ConvLayer( 28, 28, 1, 5, 5, 6, 0, 1, Activators.TanhActivator(), 0.02) # 输入28*28 一通道,滤波器5*5的6个,步长为1,不补零,所以输出为24*24深度6 # 构造降采样层,参数为输入宽度、高度、通道数、滤波器宽度、滤波器高度、步长 self.pl1 = CNN.MaxPoolingLayer( 24, 24, 6, 2, 2, 2) # 输入24*24,6通道,滤波器2*2,步长为2,所以输出为12*12,深度保持不变为6 # 初始化构造卷积层:输入宽度、输入高度、通道数、滤波器宽度、滤波器高度、滤波器数目、补零数目、步长、激活器、学习速率 self.cl2 = CNN.ConvLayer( 12, 12, 6, 5, 5, 12, 0, 1, Activators.TanhActivator(), 0.02) # 输入12*12,6通道,滤波器5*5的12个,步长为1,不补零,所以输出为8*8深度12 # 构造降采样层,参数为输入宽度、高度、通道数、滤波器宽度、滤波器高度、步长 self.pl2 = CNN.MaxPoolingLayer( 8, 8, 12, 2, 2, 2) # 输入8*8,12通道,滤波器2*2,步长为2,所以输出为4*4,深度保持不变为12。共192个像素 # 全连接层构造函数。input_size: 本层输入向量的维度。output_size: 本层输出向量的维度。activator: 激活函数 self.fl1 = DNN.FullConnectedLayer( 192, 10, Activators.TanhActivator(), 0.02) # 输入192个像素,输出为10种分类概率,学习速率为0.05