Exemplo n.º 1
0
def test_serialize(pa_ceps_list, ac_ceps_list):
    output_file = '/tmp/output.jsonl'
    data = [{'PA': pa_ceps_list}, {'AC': ac_ceps_list}]
    serialize(output_file, data)

    with open(output_file) as f:
        output_file_contents = f.readlines()

    os.remove(output_file)

    deserialized_data = [json.loads(item) for item in output_file_contents]
    assert deserialized_data[0] == data[0]
    assert deserialized_data[1] == data[1]
Exemplo n.º 2
0
loss = loss + l2_penalty

params = get_all_params(l_y, trainable=True)
updates = adam(loss, params, learning_rate=learning_rate)

meta_data["num_param"] = lasagne.layers.count_params(l_y)
print "number of parameters: ", meta_data["num_param"]

print "... compiling"
train_fn = theano.function(inputs=[X, y], outputs=loss, updates=updates)
val_fn = theano.function(inputs=[X, y], outputs=[loss, accuracy])
op_fn = theano.function([X], outputs=prediction_clean)

print "... loading dataset"
if meta_data["dataset"] == 'omniglot':
    worker = OmniglotOS(image_size=image_size, batch_size=batch_size)
elif meta_data["dataset"] == 'lfw':
    worker = LFWVerif(image_size=image_size, batch_size=batch_size)

meta_data, best_params = train(train_fn, val_fn, worker, meta_data, \
 get_params=lambda: helper.get_all_param_values(l_y))

if meta_data["testing"]:
    print "... testing"
    helper.set_all_param_values(l_y, best_params)
    meta_data = test(val_fn, worker, meta_data)

serialize(params, expt_name + '.params')
serialize(meta_data, expt_name + '.mtd')
serialize(op_fn, expt_name + '.opf')
Exemplo n.º 3
0
from main import Node, serialize, deserialize

#     1
#    / \
#   3   4
#  / \   \
# 2   5   7
tree = Node(1)
tree.left = Node(3)
tree.left.left = Node(2)
tree.left.right = Node(5)
tree.right = Node(4)
tree.right.right = Node(7)

res = serialize(tree)
expected = '1 3 2 # # 5 # # 4 # 7 # #'
print('result: ' + res)
print('expected: ' + expected)
assert(res == expected)

res = deserialize(expected)
print('result: ' + str(res))
print('expected: ' + str(tree))
assert(res.val == 1)
assert(res.left.val == 3)
assert(res.left.left.val == 2)
assert(res.left.right.val == 5)
assert(res.right.val == 4)
assert(res.right.right.val == 7)
# 132547
Exemplo n.º 4
0
    embedding_fn = create_embedder_fn(glimpses)

    X = T.matrix("embedding")
    y = T.imatrix("target")
    l_in = InputLayer(shape=(None, 512), input_var=X)
    l_y = DenseLayer(l_in, 1, nonlinearity=sigmoid)
    prediction = get_output(l_y)
    loss = T.mean(binary_crossentropy(prediction, y))
    accuracy = T.mean(binary_accuracy(prediction, y))
    params = get_all_params(l_y)
    updates = adam(loss, params, learning_rate=1e-3)
    train_fn = theano.function([X, y], outputs=loss, updates=updates)
    val_fn = theano.function([X, y], outputs=[loss, accuracy])

    for i in range(250):
        X_train, y_train = worker.fetch_batch('train')
        train_fn(embedding_fn(X_train), y_train)

    X_train, y_train = worker.fetch_batch('train')
    train_loss = train_fn(embedding_fn(X_train), y_train)
    val_loss, val_acc = val_fn(embedding_fn(X_test), y_test)
    print "number of glimpses per image: ", glimpses
    print "\ttraining performance:"
    print "\t\t loss:", train_loss
    print "\ttesting performance:"
    print "\t\t loss:", val_loss
    print "\t\t accuracy:", val_acc

    params = helper.get_all_param_values(l_y)
    serialize(params, str(glimpses) + 'glimpses' + '.params')