コード例 #1
0
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
コード例 #2
0
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
コード例 #3
0
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)
コード例 #4
0
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
コード例 #5
0
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
コード例 #6
0
ファイル: Level6_MnistConvNet.py プロジェクト: yeshrb/ai-edu
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)
コード例 #7
0
ファイル: Level1_Color_CNN.py プロジェクト: microsoft/ai-edu
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
コード例 #8
0
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)
コード例 #9
0
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
コード例 #10
0
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