我有多个pickle文件存储在磁盘上,其中包含我的数据。我想使用tensorflow的tf.data.Dataset将我的数据加载到训练过程中。我的代码如下:
def _parse_file(path):
image, label = *load pickle file*
return image, label
paths = glob.glob('*.pkl')
print(len(paths))
dataset = tf.data.Dataset.from_tensor_slices(paths)
dataset = dataset.map(_parse_file)
iterator = dataset.make_one_shot_iterator()
问题是我不知道如何实现_parse_file
函数。这个函数的参数path
是张量类型。我尝试过了。
def _parse_file(path):
with tf.Session() as s:
p = s.run(path)
image, label = pickle.load(open(p, 'rb'))
return image, label
并且收到了错误信息:
InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'arg0' with dtype string
[[Node: arg0 = Placeholder[dtype=DT_STRING, shape=<unknown>, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]
在互联网上搜索后,我仍然不知道如何做。我将非常感谢任何能够为我提供提示的人。