def dnn_model(): num_output = 9 max_epoch = 50 batch_size = 16 learning_rate = 0.01 params = HyperParameters_4_2(learning_rate, max_epoch, batch_size, net_type=NetType.MultipleClassifier, init_method=InitialMethod.MSRA, optimizer_name=OptimizerName.Momentum) net = NeuralNet_4_2(params, "color_shape_dnn") f1 = FcLayer_2_0(784, 128, params) net.add_layer(f1, "f1") r1 = ActivationLayer(Relu()) net.add_layer(r1, "relu1") f2 = FcLayer_2_0(f1.output_size, 64, params) net.add_layer(f2, "f2") r2 = ActivationLayer(Relu()) net.add_layer(r2, "relu2") f3 = FcLayer_2_0(f2.output_size, num_output, params) net.add_layer(f3, "f3") s3 = ClassificationLayer(Softmax()) net.add_layer(s3, "s3") return net
def Model(dataReader, num_input, num_hidden, num_output, params): net = NeuralNet_4_2(params, "overfitting") fc1 = FcLayer_2_0(num_input, num_hidden, params) net.add_layer(fc1, "fc1") s1 = ActivatorLayer(Sigmoid()) net.add_layer(s1, "s1") fc2 = FcLayer_2_0(num_hidden, num_hidden, params) net.add_layer(fc2, "fc2") t2 = ActivatorLayer(Tanh()) net.add_layer(t2, "t2") fc3 = FcLayer_2_0(num_hidden, num_hidden, params) net.add_layer(fc3, "fc3") t3 = ActivatorLayer(Tanh()) net.add_layer(t3, "t3") fc4 = FcLayer_2_0(num_hidden, num_output, params) net.add_layer(fc4, "fc4") net.train(dataReader, checkpoint=100, need_test=True) net.ShowLossHistory(XCoordinate.Epoch) return net
def model(): num_output = 10 dataReader = LoadData() max_epoch = 2 batch_size = 128 learning_rate = 0.1 params = HyperParameters_4_2(learning_rate, max_epoch, batch_size, net_type=NetType.MultipleClassifier, init_method=InitialMethod.MSRA, optimizer_name=OptimizerName.Momentum) net = NeuralNet_4_2(params, "cifar_conv") c1 = ConvLayer((3, 32, 32), (6, 5, 5), (1, 0), params) net.add_layer(c1, "c1") r1 = ActivationLayer(Relu()) net.add_layer(r1, "relu1") p1 = PoolingLayer(c1.output_shape, (2, 2), 2, PoolingTypes.MAX) net.add_layer(p1, "p1") c2 = ConvLayer(p1.output_shape, (16, 5, 5), (1, 0), params) net.add_layer(c2, "c2") r2 = ActivationLayer(Relu()) net.add_layer(r2, "relu2") p2 = PoolingLayer(c2.output_shape, (2, 2), 2, PoolingTypes.MAX) net.add_layer(p2, "p2") f1 = FcLayer_2_0(p2.output_size, 120, params) net.add_layer(f1, "f1") bn1 = BnLayer(120) net.add_layer(bn1, "bn1") r3 = ActivationLayer(Relu()) net.add_layer(r3, "relu3") f2 = FcLayer_2_0(f1.output_size, 84, params) net.add_layer(f2, "f2") bn2 = BnLayer(84) net.add_layer(bn2, "bn2") r4 = ActivationLayer(Relu()) net.add_layer(r4, "relu4") f3 = FcLayer_2_0(f2.output_size, num_output, params) net.add_layer(f3, "f3") s1 = ClassificationLayer(Softmax()) net.add_layer(s1, "s1") #net.load_parameters() net.train(dataReader, checkpoint=0.05, need_test=True) net.ShowLossHistory(XCoordinate.Iteration)
def model(): num_output = 10 max_epoch = 10 batch_size = 32 learning_rate = 0.1 params = HyperParameters_4_2(learning_rate, max_epoch, batch_size, net_type=NetType.MultipleClassifier, init_method=InitialMethod.MSRA, optimizer_name=OptimizerName.Momentum) net = NeuralNet_4_2(params, "cifar_conv") c1 = ConvLayer((3, 32, 32), (32, 3, 3), (1, 1), params) net.add_layer(c1, "c1") r1 = ActivationLayer(Relu()) net.add_layer(r1, "relu1") c2 = ConvLayer(c1.output_shape, (32, 3, 3), (1, 0), params) net.add_layer(c2, "c2") r2 = ActivationLayer(Relu()) net.add_layer(r2, "relu2") p2 = PoolingLayer(c2.output_shape, (2, 2), 2, PoolingTypes.MAX) net.add_layer(p2, "p2") c3 = ConvLayer(p2.output_shape, (64, 3, 3), (1, 1), params) net.add_layer(c3, "c3") r3 = ActivationLayer(Relu()) net.add_layer(r3, "relu3") c4 = ConvLayer(c3.output_shape, (64, 3, 3), (1, 0), params) net.add_layer(c4, "c4") r4 = ActivationLayer(Relu()) net.add_layer(r4, "relu4") p4 = PoolingLayer(c4.output_shape, (2, 2), 2, PoolingTypes.MAX) net.add_layer(p4, "p4") f5 = FcLayer_2_0(p4.output_size, 512, params) net.add_layer(f5, "f5") r5 = ActivationLayer(Relu()) net.add_layer(r5, "relu5") f6 = FcLayer_2_0(f5.output_size, num_output, params) net.add_layer(f6, "f6") s7 = ClassificationLayer(Softmax()) net.add_layer(s7, "s7") return net
def model(): num_output = 10 max_epoch = 5 batch_size = 64 learning_rate = 0.1 params = HyperParameters_4_2( learning_rate, max_epoch, batch_size, net_type=NetType.MultipleClassifier, init_method=InitialMethod.MSRA, optimizer_name=OptimizerName.Momentum) net = NeuralNet_4_2(params, "cifar_conv") c1 = ConvLayer((3,32,32), (6,5,5), (1,0), params) net.add_layer(c1, "c1") r1 = ActivationLayer(Relu()) net.add_layer(r1, "relu1") p1 = PoolingLayer(c1.output_shape, (2,2), 2, PoolingTypes.MAX) net.add_layer(p1, "p1") c2 = ConvLayer(p1.output_shape, (16,5,5), (1,0), params) net.add_layer(c2, "c2") r2 = ActivationLayer(Relu()) net.add_layer(r2, "relu2") p2 = PoolingLayer(c2.output_shape, (2,2), 2, PoolingTypes.MAX) net.add_layer(p2, "p2") f3 = FcLayer_2_0(p2.output_size, 120, params) net.add_layer(f3, "f3") bn3 = BnLayer(120) net.add_layer(bn3, "bn3") r3 = ActivationLayer(Relu()) net.add_layer(r3, "relu3") f4 = FcLayer_2_0(f3.output_size, 84, params) net.add_layer(f4, "f4") bn4 = BnLayer(84) net.add_layer(bn4, "bn4") r4 = ActivationLayer(Relu()) net.add_layer(r4, "relu4") f5 = FcLayer_2_0(f4.output_size, num_output, params) net.add_layer(f5, "f5") s5 = ClassificationLayer(Softmax()) net.add_layer(s5, "s5") return net
def model(): num_output = 10 dataReader = LoadData(num_output) max_epoch = 5 batch_size = 128 learning_rate = 0.1 params = HyperParameters_4_2(learning_rate, max_epoch, batch_size, net_type=NetType.MultipleClassifier, init_method=InitialMethod.Xavier, optimizer_name=OptimizerName.Momentum) net = NeuralNet_4_2(params, "mnist_conv_test") c1 = ConvLayer((1, 28, 28), (8, 5, 5), (1, 0), params) net.add_layer(c1, "c1") r1 = ActivationLayer(Relu()) net.add_layer(r1, "relu1") p1 = PoolingLayer(c1.output_shape, (2, 2), 2, PoolingTypes.MAX) net.add_layer(p1, "p1") c2 = ConvLayer(p1.output_shape, (16, 5, 5), (1, 0), params) net.add_layer(c2, "23") r2 = ActivationLayer(Relu()) net.add_layer(r2, "relu2") p2 = PoolingLayer(c2.output_shape, (2, 2), 2, PoolingTypes.MAX) net.add_layer(p2, "p2") f3 = FcLayer_2_0(p2.output_size, 32, params) net.add_layer(f3, "f3") bn3 = BnLayer(f3.output_size) net.add_layer(bn3, "bn3") r3 = ActivationLayer(Relu()) net.add_layer(r3, "relu3") f4 = FcLayer_2_0(f3.output_size, 10, params) net.add_layer(f4, "f2") s4 = ClassificationLayer(Softmax()) net.add_layer(s4, "s4") net.train(dataReader, checkpoint=0.05, need_test=True) net.ShowLossHistory(XCoordinate.Iteration)
def cnn_model(): num_output = 6 max_epoch = 20 batch_size = 16 learning_rate = 0.1 params = HyperParameters_4_2( learning_rate, max_epoch, batch_size, net_type=NetType.MultipleClassifier, init_method=InitialMethod.MSRA, optimizer_name=OptimizerName.SGD) net = NeuralNet_4_2(params, "color_cnn") c1 = ConvLayer((3,28,28), (2,1,1), (1,0), params) net.add_layer(c1, "c1") r1 = ActivationLayer(Relu()) net.add_layer(r1, "relu1") p1 = PoolingLayer(c1.output_shape, (2,2), 2, PoolingTypes.MAX) net.add_layer(p1, "p1") """ c2 = ConvLayer(p1.output_shape, (3,3,3), (1,0), params) net.add_layer(c2, "c2") r2 = ActivationLayer(Relu()) net.add_layer(r2, "relu2") p2 = PoolingLayer(c2.output_shape, (2,2), 2, PoolingTypes.MAX) net.add_layer(p2, "p2") """ params.learning_rate = 0.1 #f3 = FcLayer_2_0(p2.output_size, 32, params) f3 = FcLayer_2_0(p1.output_size, 32, params) net.add_layer(f3, "f3") bn3 = BnLayer(f3.output_size) net.add_layer(bn3, "bn3") r3 = ActivationLayer(Relu()) net.add_layer(r3, "relu3") f4 = FcLayer_2_0(f3.output_size, num_output, params) net.add_layer(f4, "f4") s4 = ClassificationLayer(Softmax()) net.add_layer(s4, "s4") return net
def model(): num_output = 10 dataReader = LoadData(num_output) max_epoch = 5 batch_size = 128 learning_rate = 0.1 params = HyperParameters_4_2( learning_rate, max_epoch, batch_size, net_type=NetType.MultipleClassifier, init_method=InitialMethod.MSRA, optimizer_name=OptimizerName.Momentum) net = NeuralNet_4_2(params, "mnist_conv") c1 = ConvLayer((1,28,28), (8,3,3), (1,1), params) net.add_layer(c1, "c1") r1 = ActivationLayer(Relu()) net.add_layer(r1, "relu1") p1 = PoolingLayer(c1.output_shape, (2,2), 2, PoolingTypes.MAX) net.add_layer(p1, "p1") c3 = ConvLayer(p1.output_shape, (16,3,3), (1,1), params) net.add_layer(c3, "c3") r3 = ActivationLayer(Relu()) net.add_layer(r3, "relu3") p2 = PoolingLayer(c3.output_shape, (2,2), 2, PoolingTypes.MAX) net.add_layer(p2, "p2") f1 = FcLayer_2_0(p2.output_size, 32, params) net.add_layer(f1, "f1") bn1 = BnLayer(f1.output_size) net.add_layer(bn1, "bn1") r5 = ActivationLayer(Relu()) net.add_layer(r5, "relu5") f2 = FcLayer_2_0(f1.output_size, 10, params) net.add_layer(f2, "f2") s1 = ClassificationLayer(Softmax()) net.add_layer(s1, "s1") net.train(dataReader, checkpoint=0.01, need_test=True) net.ShowLossHistory(XCoordinate.Iteration)
def model(): num_output = 10 max_epoch = 5 batch_size = 128 learning_rate = 0.1 params = HyperParameters_4_2(learning_rate, max_epoch, batch_size, net_type=NetType.MultipleClassifier, init_method=InitialMethod.Xavier, optimizer_name=OptimizerName.Momentum) net = NeuralNet_4_2(params, "mnist_cnn") c1 = ConvLayer((1, 28, 28), (8, 5, 5), (1, 0), params) net.add_layer(c1, "c1") r1 = ActivationLayer(Relu()) net.add_layer(r1, "relu1") p1 = PoolingLayer(c1.output_shape, (2, 2), 2, PoolingTypes.MAX) net.add_layer(p1, "p1") c2 = ConvLayer(p1.output_shape, (16, 5, 5), (1, 0), params) net.add_layer(c2, "c2") r2 = ActivationLayer(Relu()) net.add_layer(r2, "relu2") p2 = PoolingLayer(c2.output_shape, (2, 2), 2, PoolingTypes.MAX) net.add_layer(p2, "p2") f3 = FcLayer_2_0(p2.output_size, 32, params) net.add_layer(f3, "f3") bn3 = BnLayer(f3.output_size) net.add_layer(bn3, "bn3") r3 = ActivationLayer(Relu()) net.add_layer(r3, "relu3") f4 = FcLayer_2_0(f3.output_size, 10, params) net.add_layer(f4, "f2") s4 = ClassificationLayer(Softmax()) net.add_layer(s4, "s4") return net
def Net(subfolder, dataReader, num_input, num_hidden, num_output, params, show_history=True): net = NeuralNet_4_2(params, subfolder) fc1 = FcLayer_2_0(num_input, num_hidden, params) net.add_layer(fc1, "fc1") relu1 = ActivatorLayer(Relu()) net.add_layer(relu1, "relu1") fc2 = FcLayer_2_0(num_hidden, num_hidden, params) net.add_layer(fc2, "fc2") relu2 = ActivatorLayer(Relu()) net.add_layer(relu2, "relu2") fc3 = FcLayer_2_0(num_hidden, num_hidden, params) net.add_layer(fc3, "fc3") relu3 = ActivatorLayer(Relu()) net.add_layer(relu3, "relu3") fc4 = FcLayer_2_0(num_hidden, num_hidden, params) net.add_layer(fc4, "fc4") relu4 = ActivatorLayer(Relu()) net.add_layer(relu4, "relu4") fc5 = FcLayer_2_0(num_hidden, num_output, params) net.add_layer(fc5, "fc5") softmax = ClassificationLayer(Softmax()) net.add_layer(softmax, "softmax") net.train(dataReader, checkpoint=1, need_test=True) if show_history: net.ShowLossHistory(XCoordinate.Iteration) return net