コード例 #1
0
    K.set_session(utils.create_session())
    mnist_dataset = MnistWrapper.load_default()

    # ----------normal relu pretraining----------
    print 'Training model with normal relu'
    folder = 'test/mnist_ae_relu_inf'
    ae = AutoEncoder(mnist_dataset, encode, decode, None, folder)
    ae.build_models()

    num_epoch = 30
    lr_schedule = utils.generate_decay_lr_schedule(num_epoch, 0.1, 1)
    ae.train(128, num_epoch, lr_schedule)
    ae.save_models()
    ae.test_models(utils.vis_mnist)
    ae.log()

    encoded_dataset = ae.encode(MnistWrapper)
    encoded_dataset.dump_to_h5(os.path.join(folder, 'encoded_mnist.h5'))
    encoded_dataset.plot_data_dist(os.path.join(folder, 'encoded_plot.png'))

    # ----------truncate relu and fine-tune----------
    print 'Training model with relu-%d' % RELU_MAX
    new_folder = 'test/mnist_ae_relu_%d' % RELU_MAX
    ae = AutoEncoder(mnist_dataset, encode, decode, RELU_MAX, new_folder)
    ae.build_models(folder) # load previously trained ae

    mnist_dataset.plot_data_dist(os.path.join(new_folder, 'original_mnist_plot.png'))

    # num_epoch = 2
    # lr_schedule = utils.generate_decay_lr_schedule(num_epoch, 0.1, 1)