如何使keras模型以(None,)张量作为输入
How to make a keras model take a (None,) tensor as Input
我正在使用 tf.keras API,我希望我的模型接受形状为 (None,)
的输入,None
是 batch_size。
keras.layers.Input()的shape
不包含batch_size,所以我觉得不能用。
有没有办法实现我的目标?我更喜欢没有 tf.placeholder
的解决方案,因为它已被弃用
顺便说一下,我的模型是一个句子嵌入模型,所以我希望输入类似于 ['How are you.','Good morning.']
======================
更新:
目前,我可以使用 layers.Input(dtype=tf.string,shape=1)
创建一个输入层,但这需要我的输入类似于 [['How are you.'],['Good morning.']]
。我希望我的输入只有一维。
如果您想设置特定的批量大小,tf.keras.Input()
实际上包含一个 batch_size
参数。但默认情况下,批量大小假定为 None
,因此您甚至不需要更改任何内容。
现在,您真正想要的似乎是能够提供可变长度的样本(句子)。好消息! tf.keras.layers.Embedding
层允许您执行此操作,但您必须先为您的句子生成编码。 Tensorflow 网站对流程有很好的tutorial。
你试过tf.keras.layers.Input(dtype=tf.string, shape=())
了吗?
我正在使用 tf.keras API,我希望我的模型接受形状为 (None,)
的输入,None
是 batch_size。
keras.layers.Input()的shape
不包含batch_size,所以我觉得不能用。
有没有办法实现我的目标?我更喜欢没有 tf.placeholder
的解决方案,因为它已被弃用
顺便说一下,我的模型是一个句子嵌入模型,所以我希望输入类似于 ['How are you.','Good morning.']
====================== 更新:
目前,我可以使用 layers.Input(dtype=tf.string,shape=1)
创建一个输入层,但这需要我的输入类似于 [['How are you.'],['Good morning.']]
。我希望我的输入只有一维。
如果您想设置特定的批量大小,tf.keras.Input()
实际上包含一个 batch_size
参数。但默认情况下,批量大小假定为 None
,因此您甚至不需要更改任何内容。
现在,您真正想要的似乎是能够提供可变长度的样本(句子)。好消息! tf.keras.layers.Embedding
层允许您执行此操作,但您必须先为您的句子生成编码。 Tensorflow 网站对流程有很好的tutorial。
你试过tf.keras.layers.Input(dtype=tf.string, shape=())
了吗?