tensorflow基礎--LeNet-5測試模型遇到TypeError: Failed to convert object of type to Tensor


最近在看《TensorFlow 實戰Google深度學習框架第二版》這本書,測試LeNet-5這個模型時遇到了TypeError: Failed to convert object of type <class 'list'> to Tensor的報錯,由於書作者沒有給出測試的代碼,所以根據前面第五章給出的mnist測試代碼修改了測試的代碼。至於報錯的原因尚且不是很清楚,不過找到了解決方法。只要設置好輸入數據X的每個維度大小就可以了。比如

        x = tf.placeholder(tf.float32, [mnist.validation.images.shape[0],
                        mnist_inference.IMAGE_SIZE, mnist_inference.IMAGE_SIZE, mnist_inference.NUM_CHANNELS], name
='x-input') y_ = tf.placeholder(tf.float32, [None, mnist_inference.OUTPUT_NODE], name='y-input') y = mnist_inference.inference(x, None, None)
mnist.validation.images.shape[0] 這個參數在這里一定要指定,原因不明,希望知道的大佬評論區提示一下。個人猜測是下面數據進行resape的時候發生了什么變化,或者是發生了隱式轉換,所以不指定
在喂數據的時候會報類型不符,並且我也試了一下訓練的代碼也有同樣問題。但是第五章提供的代碼中x的第一維的大小是None,但是卻是可以正確運行的。所以才有了上面的結論。

參考:https://blog.csdn.net/weixin_41695564/article/details/80240106

 

如果你覺得我說的有不對的地方,歡迎指正。謝謝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM