如何使keras模型采用(无)张量作为输入

时间:2020-05-06 09:14:23

标签: tensorflow keras tensorflow2.0 tf.keras

我正在使用tf.keras API,我希望我的模型采用形状为(None,)的输入,None是batch_size的。

keras.layers.Input()的shape不包含batch_size,因此我认为它不能使用。

有没有办法实现我的目标?我更喜欢不带tf.placeholder的解决方案,因为它已被弃用

顺便说一句,我的模型是一个句子嵌入模型,所以我希望输入的内容类似于['你好。','早上好。'

====================== 更新:

当前,我可以使用layers.Input(dtype=tf.string,shape=1)创建一个输入层,但这需要我的输入类似于[['How are you.'],['Good morning.']]。我希望输入的内容只有一个维度。

2 个答案:

答案 0 :(得分:1)

您尝试过tf.keras.layers.Input(dtype=tf.string, shape=())吗?

答案 1 :(得分:0)

如果要设置特定的批处理大小,则tf.keras.Input()实际上包括一个batch_size参数。但是默认情况下,批处理大小假定为None,因此您甚至不需要更改任何内容。

现在,看来您真正想要的是能够提供可变长度的样本(句子)。好消息! tf.keras.layers.Embedding层允许您执行此操作,尽管您必须首先为句子生成编码。 Tensorflow网站的流程质量不错tutorial