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]
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')
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
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')