TensorFlow运行利用slim读取TFRecord中的数据:

一开始报错:UnicodeEncodeError: 'utf-8' codec can't encode character '\udcce' in position 2559: surrogates not allowed

想了好久才发现原来是路径的问题,之前是在Windows下复制的路径(flower数据集的地址):D:\tmp\data\flowers

但是tensorflow下的路径不是这样的,斜杠相反:D:/tmp/data/flowers

这样一来,程序就跑通了

 


import tensorflow as tf
from datasets import flowers
import pylab 

slim = tf.contrib.slim

DATA_DIR="D:/tmp/data/flowers"

#选择数据集validation
dataset = flowers.get_split('validation', DATA_DIR)

#创建一个provider
provider = slim.dataset_data_provider.DatasetDataProvider(dataset)
#通过provider的get拿到内容
[image, label] = provider.get(['image', 'label'])
print(image.shape)

sess = tf.InteractiveSession()
tf.global_variables_initializer().run()
#启动队列
tf.train.start_queue_runners()
#获取数据
image_batch, label_batch = sess.run([image, label])
#显示
print(label_batch)
pylab.imshow(image_batch)
pylab.show()

GitHub 加速计划 / te / tensorflow
184.55 K
74.12 K
下载
一个面向所有人的开源机器学习框架
最近提交(Master分支:2 个月前 )
a49e66f2 PiperOrigin-RevId: 663726708 2 个月前
91dac11a This test overrides disabled_backends, dropping the default value in the process. PiperOrigin-RevId: 663711155 2 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐