Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何读取不同分辨率的图像以在TensorFlow中创建数据集_Python_Tensorflow_Image Resizing - Fatal编程技术网

Python 如何读取不同分辨率的图像以在TensorFlow中创建数据集

Python 如何读取不同分辨率的图像以在TensorFlow中创建数据集,python,tensorflow,image-resizing,Python,Tensorflow,Image Resizing,我试图学习如何建立一个神经网络来检测图像中的行人。我下载了善待动物组织的数据集,我想把图像读入Tensorflow数据集。实际上,我成功地使用了以下代码: filenames = glob.glob("C://PETA/3DPeS/archive/*.bmp") dataset = tf.data.Dataset.from_tensor_slices((filenames)) def _parsefunc(filename): img_st = tf.read_file(filena

我试图学习如何建立一个神经网络来检测图像中的行人。我下载了善待动物组织的数据集,我想把图像读入Tensorflow数据集。实际上,我成功地使用了以下代码:

filenames = glob.glob("C://PETA/3DPeS/archive/*.bmp")

dataset = tf.data.Dataset.from_tensor_slices((filenames))

def _parsefunc(filename):
    img_st = tf.read_file(filename)
    img_dec = tf.image.decode_bmp(img_st,channels=3)
    img = tf.cast(img_dec,tf.float32)

return img

dataset = dataset.map(_parsefunc)

iterator = dataset.make_one_shot_iterator()
但并不是所有的图像都有相同的分辨率,只要我能看到,我们需要指定一个特定的大小来定义我们的神经网络层

那么如何调整图像大小以获得干净的TensorFlow数据集呢


谢谢

好吧,你的图像应该是相同大小的,这在任何地方都是不强制的,但最好是这样。如果你想在将来对模型进行微调,那没关系。试着看看,如何创造,这将是最可取的方式

在您的
\u parsefunc
中,您可以使用
tf.image.resize\u images()
将输入图像的大小调整为输入神经网络层的大小


我不知道有这样的方法。非常感谢。它解决了我的问题
def _parsefunc(filename):
   img_st = tf.read_file(filename)
   img_dec = tf.image.decode_bmp(img_st,channels=3)
   img = tf.cast(img_dec,tf.float32)
   img = tf.image.resize_images(img, [width, height])