【发布时间】:2020-06-05 14:21:28
【问题描述】:
我想创建一个 tensorflow 模型,该模型将整数列表作为输入并返回相应的预训练嵌入。
例如,如果输入批次是[[1, 2, 3], [4, 5, 6]] 我希望模型返回
[[embed[1], embed[2], embed[3]], [embed[4], embed[5], embed[6]],其中embed 是一个包含预训练嵌入的矩阵。
我认为我能够使用预训练嵌入创建嵌入层,但我的代码仅返回一个嵌入。
embedding_dim = 5
vocab_size = 100
embedding_matrix = np.random.random((vocab_size, embedding_dim))
emb_model = tf.keras.Sequential()
embedder = tf.keras.layers.Embedding(vocab_size,
embedding_dim,
embeddings_initializer=tf.keras.initializers.Constant(embedding_matrix),
trainable=False,
input_shape=(None,))
emb_model.add(embedder)
例如,如果我执行emb_model([[[8, 2, 7], [2, 8, 4]]]),则只返回第 8 项的嵌入
【问题讨论】:
-
如果您认为答案有价值,请不要忘记接受它作为答案;-)
标签: python tensorflow keras embedding