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,
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,
# 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