2016-12-17 107 views
5

我试图按照教程运行cifar10_train.py,但我得到了Tensorflow.strided_slice缺少参数“大步”?

"cifar10_input.py", line 87, in read_cifar10 
tf.strided_slice(record_bytes, [0], [label_bytes]), tf.int32) 
TypeError: strided_slice() missing 1 required positional argument: 'strides' 

的文件说,strides是可选的,它在Ubuntu以前那样正常工作。

我的张量流版本是0.12.0rc1-cp35-cp35m-win_amd64。我已经安装了最新版本。

我可以通过这个说法吗?我不知道它...

更新:我用切片代替strided_slice,它的工作原理。根据问题#754,在1.0版本中strides将是可选的。 (?也许)

回答

6

替换线

tf.strided_slice(record_bytes, [0], [label_bytes]), tf.int32) 

到行:

tf.strided_slice(record_bytes, [0], [label_bytes], [1]), tf.int32) 

,并在接下来的操作

[label_bytes + image_bytes]), 

到行

[label_bytes + image_bytes], [1]), 
线

它适合我。

+0

这解决了这个问题,但并没有解决我在此之后立即遇到的不推荐使用的函数调用的问题。 @MartinThoma给出了全面的答案。 – BobbyG

5

@ user3143469已经给出了所需的答案。

对于TF 0.12,cifar10教程中有几件事需要更新(请参阅pull request)。

请参阅https://github.com/MartinThoma/algorithms/commit/38ce1f87d6e4396cde64fe831c2ead2507781270了解需要更改的内容,以及this folder的工作代码+说明如何使用它。

+1

这是一个全面的解决方案,可以解决您所遇到的问题以及其他问题。 – BobbyG

+0

@Martin。我克隆你的修改后的代码,并在运行时出现错误:'AttributeError:'模块'对象没有属性'per_image_standardization'我的tensorflow11,cudnn和cuda8正确安装 – Amir

+0

“运行时出现错误”请更准确。你究竟跑了什么?您可以粘贴完整的输出到http://pastebin.com/? –