예제 #1
0
                    dropout_rate=0,
                    activation=activation.tanh),
        #MaxPool(size=2, stride=2),
        ConvToFullyConnected(),
        FullyConnected(size=64, activation=activation.tanh),
        FullyConnected(size=10, activation=None, last_layer=True)
    ]

    # -------------------------------------------------------
    # Train with BP
    # -------------------------------------------------------

    model = Model(
        layers=layers,
        num_classes=10,
        optimizer=GDMomentumOptimizer(lr=3 * 1e-2, mu=0.9),
    )

    print("\nRun training:\n------------------------------------")

    stats = model.train(data_set=data,
                        method='bp',
                        num_passes=num_iteration,
                        batch_size=64)
    loss, accuracy = model.cost(*data.test_set())

    print("\nResult:\n------------------------------------")
    print('loss on test set: {}'.format(loss))
    print('accuracy on test set: {}'.format(accuracy))

    print("\nTrain statisistics:\n------------------------------------")
예제 #2
0
            MaxPool(size=2, stride=2),
            Convolution((8, 3, 3, 3), stride=1, padding=1, dropout_rate=0, activation=activation.tanh, weight_initializer=initializer[0]),
            MaxPool(size=2, stride=2),
            Convolution((16, 8, 3, 3), stride=1, padding=1, dropout_rate=0, activation=activation.tanh, weight_initializer=initializer[1]),
            MaxPool(size=2, stride=2),
            Convolution((32, 16, 3, 3), stride=1, padding=1, dropout_rate=0, activation=activation.tanh, weight_initializer=initializer[2]),
            MaxPool(size=2, stride=2),
            ConvToFullyConnected(),
            FullyConnected(size=64, activation=activation.tanh),
            FullyConnected(size=10, activation=None, last_layer=True)
        ]

        model = Model(
            layers=layers,
            num_classes=10,
            optimizer=GDMomentumOptimizer(lr=1e-3, mu=0.9),
        )

        print("\n\n------------------------------------")

        print("Initialize: {}".format(initializer))

        print("\nRun training:\n------------------------------------")

        stats = model.train(data_set=data, method='dfa', num_passes=num_passes, batch_size=50)
        loss, accuracy = model.cost(*data.test_set())

        print("\nResult:\n------------------------------------")
        print('loss on test set: {}'.format(loss))
        print('accuracy on test set: {}'.format(accuracy))
예제 #3
0
            FullyConnected(size=num_hidden_units,
                           activation=activation.tanh,
                           fb_weight_initializer=initializer),
            FullyConnected(size=num_hidden_units,
                           activation=activation.tanh,
                           fb_weight_initializer=initializer),
            FullyConnected(size=num_hidden_units,
                           activation=activation.tanh,
                           fb_weight_initializer=initializer),
            FullyConnected(size=10, activation=None, last_layer=True)
        ]

        model = Model(
            layers=layers,
            num_classes=10,
            optimizer=GDMomentumOptimizer(lr=lr, mu=0.9),
            regularization=0.001,
            # lr_decay=0.5,
            # lr_decay_interval=100
        )

        print("\n\n------------------------------------")

        print("Initialize: {}".format(initializer))

        print("\nRun training:\n------------------------------------")

        data = mnist_dataset.load('dataset/mnist')
        stats = model.train(data_set=data,
                            method='dfa',
                            num_passes=3,