我有一个csv文件,其格式和数据如下:
ID nr1 nr2 nr3 nr4 nr5 next_nr
1 1 2 3 4 5 6
2 2 3 4 5 6 7
3 3 4 5 6 7 8
4 4 5 6 7 8 9
5 5 6 7 8 9 10
6 6 7 8 9 10 11
7 7 8 9 10 11 12
8 8 9 10 11 12 13
9 9 10 11 12 13 14
10 10 11 12 13 14 15
所以,有10行包括我的列车数据。我想用tf.contrib.data公司.Csvdataset来读取数据。下面是读取它的示例代码:
^{pr2}$当我运行这段代码时,我希望输出在每个批中包含2行数据。但是我得到的数据看起来很奇怪。以下是第一个纪元的输出:
epoch: 0
[(array([1., 2.], dtype=float32), array([1., 2.], dtype=float32), array([2., 3.], dtype=float32), array([3., 4.], dtype=float32), array([4., 5.], dtype=float32), array([5., 6.], dtype=float32), array([6., 7.], dtype=float32))]
[(array([3., 4.], dtype=float32), array([3., 4.], dtype=float32), array([4., 5.], dtype=float32), array([5., 6.], dtype=float32), array([6., 7.], dtype=float32), array([7., 8.], dtype=float32), array([8., 9.], dtype=float32))]
[(array([5., 6.], dtype=float32), array([5., 6.], dtype=float32), array([6., 7.], dtype=float32), array([7., 8.], dtype=float32), array([8., 9.], dtype=float32), array([ 9., 10.], dtype=float32), array([10., 11.], dtype=float32))]
[(array([7., 8.], dtype=float32), array([7., 8.], dtype=float32), array([8., 9.], dtype=float32), array([ 9., 10.], dtype=float32), array([10., 11.], dtype=float32), array([11., 12.], dtype=float32), array([12., 13.], dtype=float32))]
[(array([ 9., 10.], dtype=float32), array([ 9., 10.], dtype=float32), array([10., 11.], dtype=float32), array([11., 12.], dtype=float32), array([12., 13.], dtype=float32), array([13., 14.], dtype=float32), array([14., 15.], dtype=float32))]
相反,对于exmaple,我希望第一批产品会喜欢以下产品:
[(array([1., 1., 2., 3., 4., 5., 6], dtype=float32), array([2., 2., 3., 4., 5., 6., 7.], dtype=float32)]
这个问题可能很微不足道,但我不明白为什么会是这样。也许在这个领域更有经验的人可以马上看到它。在
CsvDatset
的每个记录都必须转换为张量。如果这对你有用,请告诉我:对于我的测试,我必须设置
field_delim
参数才能使其工作。在相关问题 更多 >
编程相关推荐