【发布时间】:2018-12-06 06:43:49
【问题描述】:
我的RNN的第一层是嵌入层如下。
visible = Input(shape=(250,))
embed=Embedding(vocab_size,50)(visible)
x2=keras.layers.GRU(224, return_sequences=False)(embed)
predictions=Dense(1, activation='sigmoid')(x2)
我训练这个网络并预测一些输出。
现在在训练之后,我在我的测试数据上对其进行测试,这非常简单。
我想知道我的测试数据的确切嵌入,或者为了实施,在模型训练后我的任何测试序列的嵌入。我想在其他一些应用程序中使用那些嵌入。有什么方法可以在训练后为我的测试序列数据提取那些嵌入?
试一试:假设我的模型是m,我得到嵌入权重如下。
embeddings = m.layers[1].get_weights()
我还有一个反向字典reverse_char_map,如下。
{1: 'c',
2: 'C',
3: '(',
4: ')',
5: 'O',
6: '=',
7: '1',
8: '2',
9: 'N',
10: '3',
11: 'n',
12: '[',
13: ']',
14: 'S',
15: '4',
16: '-',
17: 'l',
18: '+',
19: 'H',
20: '5',
21: 'F',
22: '.',
23: '#',
24: 's',
25: 'o',
26: '6',
27: 'P',
28: 'B',
29: 'r',
30: 'a',
31: '7',
32: 'e',
33: 'I',
34: 'i',
35: '8',
36: 'u',
37: 'K',
38: '9',
39: 'R',
40: '%',
41: '0',
42: 'Z',
43: 'h',
44: 'L',
45: 'A',
46: 't',
47: 'd',
48: 'G',
49: 'M',
50: 'g',
51: 'U',
52: 'b',
53: 'T',
54: 'W',
55: 'p',
56: 'V'}
我不知道如何使用 embeddings 和 reverse_char_map 来获取测试输入序列之一的嵌入。
【问题讨论】:
标签: tensorflow machine-learning keras nlp word2vec