2016-12-17 103 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/? –