# value definition tree_matrix = np.asarray([ [3, 1, 2], [4, 0, 3], ], dtype=np.int32) phrase_number = tree_matrix.shape[0] labels = np.asarray([2, 4, 2, 4, 4], dtype=np.int32) x = T.imatrix('x') y = T.ivector('y') classifier = RNTN( x, y, vocab_size=5, embed_dim=3, label_n=5, ) x_input = np.asarray([[1, -1, -1], [2, -1, -1], [3, 1, 2]], dtype=np.int32) y_input = labels[1:4] original_embedding = classifier.embedding.get_value() classifier.update_embedding(x_input) new_embedding = classifier.embedding.get_value() assert_matrix_neq(original_embedding, new_embedding, "update_embeding")
from test_util import assert_matrix_eq vocab_size = 6 embed_dim = 3 label_n = 5 word2id = { 'I': 0, 'love': 1, 'you': 2, '<UNK>': 5, } x = T.imatrix('x') y = T.ivector('y') th_model = TheanoRNTN(x, y, vocab_size, embed_dim, label_n) np_model = NumpyRNTN.load_from_theano_model( th_model, word2id) # (embedding = th_model.embedding.get_value(), # rntn_layer = RNTNLayer(th_model.rntn_layer.V.get_value(), th_model.rntn_layer.W.get_value()), # logreg_layer = LogisticRegression(th_model.logreg_layer.W.get_value(), th_model.logreg_layer.b.get_value()), # word2id = word2id) x_input = np.asarray([[4, 2, 5], [3, 1, 4]], dtype=np.int32) tree_input = (5, "love", (3, (3, "you"), (3, "bro"))) actual = np_model.get_node_vector(tree_input) th_model.update_embedding(x_input) expected = th_model.embedding.get_value()[3]
[3, 1, 2], [4, 0, 3], ], dtype = np.int32 ) phrase_number = tree_matrix.shape[0] labels = np.asarray([2, 4, 2, 4, 4], dtype=np.int32) x = T.imatrix('x') y = T.ivector('y') classifier = RNTN( x, y, vocab_size = 5, embed_dim = 3, label_n = 5, ) x_input = np.asarray([[1,-1,-1], [2,-1,-1], [3, 1, 2]], dtype=np.int32) y_input = labels[1:4] original_embedding = classifier.embedding.get_value() classifier.update_embedding(x_input) new_embedding = classifier.embedding.get_value()
from test_util import assert_matrix_eq vocab_size = 6 embed_dim = 3 label_n = 5 word2id = { 'I': 0, 'love': 1, 'you':2, '<UNK>': 5, } x = T.imatrix('x') y = T.ivector('y') th_model = TheanoRNTN(x, y, vocab_size, embed_dim, label_n) np_model = NumpyRNTN.load_from_theano_model(th_model, word2id)# (embedding = th_model.embedding.get_value(), # rntn_layer = RNTNLayer(th_model.rntn_layer.V.get_value(), th_model.rntn_layer.W.get_value()), # logreg_layer = LogisticRegression(th_model.logreg_layer.W.get_value(), th_model.logreg_layer.b.get_value()), # word2id = word2id) x_input = np.asarray([[4, 2, 5], [3, 1, 4]], dtype=np.int32) tree_input = (5, "love", (3, (3, "you"), (3, "bro"))) actual = np_model.get_node_vector(tree_input) th_model.update_embedding(x_input)