【发布时间】:2020-09-19 12:13:26
【问题描述】:
我已经制作了我的自定义嵌入层,但在测试它时出现错误。 下面是我的自定义嵌入层。
class EndTokenLayer(Layer):
def __init__(self, embedding_dim=128, **kwargs):
super(EndTokenLayer, self).__init__(**kwargs)
self.end_token_embedding = tf.Variable(initial_value=tf.random.uniform(shape=(embedding_dim,)), trainable=True)
def call(self, inputs):
end_token = tf.tile(tf.reshape(self.end_token_embedding, shape=(1, 1, self.end_token_embedding.shape[0])), [tf.shape(inputs)[0],1,1])
return tf.keras.layers.concatenate([inputs, end_token], axis=1)
但是当我测试具有一批形状的 train_dataset(来自 tensorflow 切片)时 x = (16,13,128) 和 y = (16,14)
temp = EndTokenLayer()
print(temp(inputs = train.take(1)))
错误日志: ValueError: 尝试将类型 () 不受支持的值 () 转换为 Tensor。
【问题讨论】:
标签: python tensorflow keras deep-learning keras-layer