コード例 #1
0
ファイル: cifar10_alex.py プロジェクト: ybzhou/Gemini
def test_cifar(data_path):
    print 'loading data'
    
    dl = CIFAR10DataLoader(cifar_file_path=data_path,
                           load_dtype='float32')
    
    dp = LabeledMemoryDataProvider(data_loader=dl, 
                                         batch_size=batch_size, 
                                         max_gpu_train_samples=max_gpu_samples, 
                                         max_gpu_valid_samples=max_gpu_samples, 
                                         is_test=False, 
                                         epochwise_shuffle=False, 
                                         nvalid_samples=5000)

    opt = optimizers.SGD_Momentum_Optimizer()
    
    mlp = MLP(batch_size = batch_size, seed=seed,
            network_structure=mlp_ns, network_cost=mlp_cost)
    
    mlp.fit(data_provider=dp, 
            optimizer=opt,
            train_epoch=training_epochs, 
            early_stop=10, 
            dump_freq=(50000//100+1)*10,
            train_mean=dp.get_data_stats(),
            batch_mean_subtraction=True)
      
    mlp.save('alex_cifar_26_model.joblib')
#     mlp.load('alex_cifar_26_model.joblib') 
#     
    f = open(os.path.join(data_path,'test_batch'), 'rb')
    data = cPickle.load(f)
    f.close()
    test_set = data['data']
    test_y = data['labels']
     
    test_set = numpy.asarray(test_set, dtype='float32')
    tm = dp.get_data_stats()
    test_set -= tm
     
    pred = mlp.predict_from_memory_data(test_set)
    print 'Error: ', numpy.mean(pred!=test_y)
    
    
    dp = LabeledMemoryDataProvider(data_loader=dl, 
                                         batch_size=batch_size, 
                                         max_gpu_train_samples=max_gpu_samples, 
                                         max_gpu_valid_samples=max_gpu_samples, 
                                         is_test=True, 
                                         epochwise_shuffle=False, 
                                         nvalid_samples=0)
    pred = mlp.predict_from_data_provider(dp, train_mean=tm, batch_mean_subtraction=True)
    print 'Error: ', numpy.mean(pred!=test_y)
コード例 #2
0
ファイル: mnist_dae.py プロジェクト: ybzhou/Gemini
def test_finetune():
    
    
    dl = MNISTDataLoader('/data/Research/datasets/mnist/mnist.pkl')
    
    dp = LabeledMemoryDataProvider(data_loader=dl, 
                                         batch_size=batch_size, 
                                         max_gpu_train_samples=max_gpu_samples, 
                                         max_gpu_valid_samples=max_gpu_samples, 
                                         is_test=False, 
                                         epochwise_shuffle=False, 
                                         nvalid_samples=10000)

    opt = optimizers.SGD_Rms_Optimizer()
    
    init_params = hickle.load('testmodel_ae.joblib')
    
    mlp = MLP(batch_size = batch_size, seed=seed,
            network_structure=mlp_ns, network_cost=mlp_cost,
            init_params=init_params)
    
    mlp.fit(data_provider=dp, 
            optimizer=opt,
            train_epoch=finetune_epochs, 
            early_stop=False, 
            dump_freq=(50000//100+1)*10)
      
    mlp.save('mnist_mlp_model.joblib')
    
    f = open('/data/Research/datasets/mnist/mnist.pkl', 'rb')
    _, _, test_set = cPickle.load(f)
    f.close()
    
    pred = mlp.predict_from_memory_data(test_set[0])
    print 'Error: ', numpy.mean(pred!=test_set[1])
    
    
    dp = LabeledMemoryDataProvider(data_loader=dl, 
                                     batch_size=batch_size, 
                                     max_gpu_train_samples=max_gpu_samples, 
                                     max_gpu_valid_samples=max_gpu_samples, 
                                     is_test=True, 
                                     epochwise_shuffle=False, 
                                     nvalid_samples=0)
    pred = mlp.predict_from_data_provider(dp)
    print 'Error: ', numpy.mean(pred!=test_set[1])