Beispiel #1
0
# 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")
Beispiel #2
0
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)