Python 批次大小为1的tensorflow中的不同图像大小

Python 批次大小为1的tensorflow中的不同图像大小,python,tensorflow,Python,Tensorflow,我想实现一个python类,它可以加载一个tensorflow模型,并实现一个推理。但是,我不知道如何输入具有可变图像大小的图像:( 现在我只使用了tf.placeholder(tf.float32,shape=(1512512,3)),, 但我的图像有不同的大小(如1000*900) 如何实现此功能? 多谢各位 编辑: 谢谢大家。我已经通过使用解决了问题: x=tf.placeholder(tf.string) img=tf.image.decode\u jpeg(x,通道=3) 这可以为具

我想实现一个python类,它可以加载一个
tensorflow模型
,并实现一个推理。但是,我不知道如何输入具有可变图像大小的图像:(

现在我只使用了
tf.placeholder(tf.float32,shape=(1512512,3))
,, 但我的图像有不同的大小(如1000*900)

如何实现此功能? 多谢各位

编辑:

谢谢大家。我已经通过使用解决了问题:

x=tf.placeholder(tf.string)
img=tf.image.decode\u jpeg(x,通道=3)

这可以为具有不同图像大小的网络(my
ConvNet
包括许多
conv2d
conv2d\u-Transpose
)提供信息。

基本上,您可以定义不同大小的输入,如下所示

self.x = tf.placeholder(tf.float32, [1, None, None, 3]) 
然后你可以输入不同的信息

feed_dict={self.x: current_data} etc..
但是要注意你的神经网络结构。如果将最后一个conv层展平作为第一个密集层的输入,则网络仅在该大小下工作,您需要拉伸或裁剪图像以使其工作


一种更灵活的方法是使用类似于或的东西来解决这个问题

您可以将它们作为jpeg字符串输入tensorflow,并使用decode jpeg op来实施统一大小的想法。非常感谢,我会尝试。此维度是批大小。这无助于按要求获得不同的图像大小。可以让占位符匹配每个单独的图像大小,但是,正如您所提到的,网络结构应该能够处理各种输入大小。它通常用于批量大小定义,但完全取决于您。。。由于可以在之后使用tf操作调整\crop image的大小,因此您可以简单地使用None(无)向图形提供不同大小的图像。无论如何,我更喜欢分割数据处理和NN使用。我只关心不同的图像大小(而不是批量大小)。我通过使用
img=tf.placeholder(tf.string)``image=tf.image.decode\u jpeg(img,channels=3)
@AlexJoz这是tensorflow的inception5h模型上使用的吗?它用于tf的deepdream教程,并采用可变输入大小
feed_dict={self.x: current_data} etc..