from networks import lenet_mnist

branchyNet = lenet_mnist.get_network()

branchyNet.print_models()  # ren +

branchyNet.to_gpu()
branchyNet.training()

# Import Data

from datasets import mnist

print '1. mnist.get_data()'

x_train, y_train, x_test, y_test = mnist.get_data()

# Settings

TRAIN_BATCHSIZE = 512
TEST_BATCHSIZE = 128
TRAIN_NUM_EPOCHS = 50

branchyNet.verbose = False  # ren +
branchyNet.gpu = True  # ren +

# Train Main Network

print '2. Train Main Network'

main_loss, main_acc, main_time = utils.train(branchyNet,
Exemple #2
0
branchyNet = LeNet.build()
branchyNet.to_gpu()  # 设定网络在GPU上运行
branchyNet.training()  # 设定网络为训练模式
branchyNet.verbose = False

# 参数设置
TRAIN_BATCHSIZE = 512
TEST_BATCHSIZE = 1
TRAIN_NUM_EPOCHES = 100
SAVE_PATH = '../pic/lenet_mnist/'  # 实验结果图片保存路径
MODEL_NAME = '../models/lenet_mnist(' + str(
    TRAIN_NUM_EPOCHES) + ').bn'  # 保存模型名称
CSV_NAME = 'lenet(' + str(TRAIN_NUM_EPOCHES) + ')'  # 输出文件名称

# 导入MNIST数据集
X_train, Y_train, X_test, Y_test = mnist.get_data()

print("X_train:{} Y_train:{}".format(X_train.shape, Y_train.shape))
print("X_test: {} Y_test: {}".format(X_test.shape, Y_test.shape))

# 在主网络上进行训练
main_loss, main_acc, main_time = utils.train(branchyNet,
                                             X_train,
                                             Y_train,
                                             main=True,
                                             batchsize=TRAIN_BATCHSIZE,
                                             num_epoch=TRAIN_NUM_EPOCHES)
print("main_time:", main_time)

# 可视化主网络训练结果
visualize.plot_layers(main_loss,
Exemple #3
0
    # Print model summary
    if args.print_model:
        model.summary()

    # Compile model
    model.compile(loss='categorical_crossentropy',
                  optimizer=rmsprop(lr=0.0001, decay=1e-6),
                  metrics=['accuracy'])

    # Get data
    if args.dataset == None:
        print('No dataset given...\nExiting...')
        exit(0)
    if args.dataset == 'mnist':
        train_data, train_labels, test_data, test_labels = mnist.get_data()
    elif args.dataset == 'cifar10':
        train_data, train_labels, test_data, test_labels = cifar10.get_data()

    # Train with no data augmentation
    if not args.data_augmentation:
        print('[INFO] Training the model (without data augmentation)...')
        history = model.fit(train_data,
                            train_labels,
                            batch_size=128,
                            epochs=args.epochs,
                            validation_data=(test_data, test_labels),
                            verbose=True,
                            shuffle=True)

        # Evaluate the model