Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.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 TFRecords读取一个特定图像_Python_Tensorflow_Dataset_Protocol Buffers - Fatal编程技术网

Python TensorFlow TFRecords读取一个特定图像

Python TensorFlow TFRecords读取一个特定图像,python,tensorflow,dataset,protocol-buffers,Python,Tensorflow,Dataset,Protocol Buffers,我只想从创建时使用的TFRecords文件中加载一个映像,其目录结构为: ├── train | ├── chef | ├── data0.png | ├── ... | └── data5467.png | ├── chicken | ├── data0.png | ├── ... | └── data2098.png | ├── parasaurolophus | ├── data0.png |

我只想从创建时使用的TFRecords文件中加载一个映像,其目录结构为:

├── train
|   ├── chef
|       ├── data0.png
|       ├── ...
|       └── data5467.png
|   ├── chicken
|       ├── data0.png
|       ├── ...
|       └── data2098.png
|   ├── parasaurolophus
|       ├── data0.png
|       ├── ...
|       └── data2977.png
|   └── Trex
|       ├── data0.png
|       ├── ...
|       └── data2841.png
├── validation
|   ├── ...
├── build_image_data.py
└── labels.txt
生成一个文件:
train-00000-of-00001
,包含上面的所有图像(124MB二进制)

现在我想从TFRecords文件中读取第一个图像,它应该是
train/chef/data0.png
。我该怎么做

当所有图像都存储在同一个TFRecords文件中时,如何在测试时从自定义数据集中读取单个特定图像?

第一个问题。 您需要一个管道来解析tfrecords文件,它应该是这样的:

reader = tf.TFRecordReader()
queue = tf.train.string_input_producer([you_tfrecords_file_name])
_, serialized = reader.read(queue)
features = tf.parse_single_example(serialied, features={you_features_dict})
image = features[your_image_name]
image.set_shape(you_image_shape)
在此之后,您可以使用

sess.run(image)
每次调用此行代码时,一个映像将按照写入tfrecords文件的顺序退出队列

第二个问题,当您将所有图像转换为tfrecords时,很难使用队列作为输入,我个人建议您将培训图像转换为
train.tfrecords
,将有效图像转换为
valid.tfrecords
,并使用共享变量为这两个输入获取两个登录,有关详细信息,请参阅