def test_set_params_from_file(self):
        dir, _ = os.path.split(os.path.abspath(__file__))
        file_path = os.path.join(dir, 'data', 'net_params.txt')

        net = GraphLabNeuralNetBuilder()
        net.set_params_from_file(file_path)
        self.assertEqual(net['learning_rate'], 0.1)
        self.assertEqual(net['batch_size'], 256)
        self.assertEqual(net['learning_rate_schedule'], 'constant')
        self.assertEqual(net['subtract_mean'], False)
        print net.net
    def test_convolution_layer(self):
        nn = GraphLabNeuralNetBuilder()
        nn.add_convolution_layer(3, 1, 10)

        nn.add_convolution_layer(3, 1, 10, **{'padding': 1})

        return
    max_iterations = int(sys.argv[4])

    df = pd.read_pickle(data_path)

    cond_happy = df['django_expression'] == 3
    cond_sad = df['django_expression'] == 4
    cond_surprise = df['django_expression'] == 5

    df = df[cond_happy | cond_sad | cond_surprise]

    x = np.array(df['pixels'].tolist())
    y = np.array(df['django_expression'].values)

    xtrain, xtest, ytrain, ytest = train_test_split(x, y, train_size=.8)

    net_builder = GraphLabNeuralNetBuilder()
    net_builder.layers = net.layers
    net_builder.verify()

    model = GraphLabClassifierFromNetBuilder(net_builder,
                                             chkpt_dir=check_point_path,
                                             max_iterations=max_iterations,
                                             train_frac=.8)
    model.fit(xtrain, ytrain)

    eval = model.evaluate(xtest, ytest, metric=['accuracy', 'confusion_matrix',
                                               'recall@1', 'recall@2'])

    ypred = np.array(model.predict(xtest))
    ytest = np.array(ytest)
 def test_net_params(self):
     nn = GraphLabNeuralNetBuilder()
     nn['momentum'] = 0.5
     self.assertEqual(nn['momentum'], 0.5)
 def test_drop_out_layer(self):
     nn = GraphLabNeuralNetBuilder()
     nn.add_dropout_layer()
     nn.add_dropout_layer(.8)
 def test_get_net_bad(self):
     nn_bad = GraphLabNeuralNetBuilder()
     self.assertRaises(ValueError, nn_bad.get_net)  # Empty net
 def test_activation_layers(self):
     nn = GraphLabNeuralNetBuilder()
     nn.add_relu_layer()
     nn.add_sigmoid_layer()
     nn.add_tanh_layer()
     nn.add_soft_max_layer()
 def test_full_connection_layer(self):
     nn = GraphLabNeuralNetBuilder()
     nn.add_flatten_layer()
     nn.add_full_connection_layer(10)
     nn.add_full_connection_layer(100)
 def test_flatten_layer(self):
     nn = GraphLabNeuralNetBuilder()
     nn.add_flatten_layer()
 def test_avg_pooling_layer(self):
     nn = GraphLabNeuralNetBuilder()
     nn.add_avg_pooling_layer(3)
     nn.add_avg_pooling_layer(3, padding=0)
     nn.add_avg_pooling_layer(3, 4, 5)
    max_iterations = int(sys.argv[4])

    df = pd.read_pickle(data_path)

    cond_happy = df['django_expression'] == 3
    cond_sad = df['django_expression'] == 4
    cond_surprise = df['django_expression'] == 5

    df = df[cond_happy | cond_sad | cond_surprise]

    x = np.array(df['pixels'].tolist())
    y = np.array(df['django_expression'].values)

    xtrain, xtest, ytrain, ytest = train_test_split(x, y, train_size=.8)

    net_builder = GraphLabNeuralNetBuilder()
    net_builder.layers = net.layers
    net_builder.verify()

    model = GraphLabClassifierFromNetBuilder(net_builder,
                                             chkpt_dir=check_point_path,
                                             max_iterations=max_iterations,
                                             train_frac=.8)
    model.fit(xtrain, ytrain)

    eval = model.evaluate(
        xtest,
        ytest,
        metric=['accuracy', 'confusion_matrix', 'recall@1', 'recall@2'])

    ypred = np.array(model.predict(xtest))