解交织tf.data.Dataset

时间:2018-12-26 03:50:54

标签: python tensorflow

我一直在努力解交tf.data.Dataset,例如:

{a b c d e f} 

{ (a,b) (c,d) (e,f) }

最终,这些代表从连续记录流中获取的图像标签对。

我当前使用的代码如下

def _input_fn(): 
  def parseRecord(record):
   return tf.convert_to_tensor(record[0], dtype=tf.string), tf.convert_to_tensor(record[1], dtype=tf.string)

   ds = PipeModeDataset(channel, pipe_dir=directory, state_dir=directory, config_dir=directory, benchmark=True)
   ds = ds.batch(2)
   ds= ds.map(parseRecord)
   ds = ds.batch(5)
   return ds

with tf.Session() as sess:
   it = _input_fn().make_one_shot_iterator()
   next = it.get_next()
   mini_batch = sess.run(next)

image, label = mini_batch

#Validated image is 5 images, label is 5 corresponding labels 

但是,任何时候我都尝试在处理管道的其他部分进行任何并行调用(使用map或map和batch),包括在初始ds.batch(2)调用之后更大的批处理大小。我收到如下错误:

Index out of range using input dim 0; input has only 0 dims 

for 'strided_slice' (op: 'StridedSlice') with input shapes: [], [1], [1], [1] and with computed input tensors: input[3] = <1>.

Multipart records are not supported

任何有关如何使用批处理,地图,窗口,交错或其他方式使该模式持续运行的最佳实践都将受到高度赞赏。

0 个答案:

没有答案