我已经做了我的自定义嵌入层,但当我测试它时,我得到了错误。 下面是我的自定义嵌入层
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_数据集(来自tensorflow切片)时,它的形状是一批 x=(16,13128)和y=(16,14)
temp = EndTokenLayer()
print(temp(inputs = train.take(1)))
错误日志: ValueError:尝试将不支持类型()的值()转换为张量
train.take(1)
将为您提供一个包含单个元素的新数据集,而不是数据集的第一个元素。也许你想要这样的东西:或者只是:
相关问题 更多 >
编程相关推荐