TensorFlow的報錯信息

學習TensorFlow的過程中最不缺的就是各種報錯。痛定思痛,記錄一下學習中遇到的錯誤~

1. UnicodeDecodeError:‘gbk’ codec can’t decode byte 0xa3 in position 29: illegal multibyte sequence

在讀入文件的時候容易出的錯,Python 3 版本中直接在打開文件的時候指定編碼方式爲 utf-8 即可。也就是:

with open(filename, mode='r', encoding='utf-8')

2.TypeError: Failed to convert object of type <class ‘builtin_function_or_method’> to Tensor.

報錯:

TypeError: Failed to convert object of type <class 'builtin_function_or_method'> to Tensor. 
Contents: <built-in function input>. Consider casting elements to a supported type.

原因:

函數錯誤,應檢查是否函數的輸入有錯誤,我這裏的錯誤是,寫錯了一個函數輸入的名稱(inputs 寫成了 input, 這種錯誤關鍵還沒有具體錯誤信息。。。淚目)

3.InvalidArgumentError: Shape must be rank 4 but is rank 1 for ‘Conv2D’ (op: ‘Conv2D’) with input shapes: [?,3,2,1], [4].

出現這種 InvalidArgumentError 的錯誤,一般都是矩陣的維度沒有對整齊,直接查找相關的代碼是否矩陣維度是否出現錯誤,在這裏我出現的錯誤就是 放錯了權重矩陣,其實這裏後面的給出的矩陣維度信息還是很關鍵的,在這裏的報錯中說明應該是一個[a, b,c, d]的四維數組,但是我傳入的數組信息是[a]一維的,直接查找相關的數組即可。

4.TypeError: unhashable type: ‘list’

在具體位置信息裏,有這樣的:

 bias = tf.Variable(tf.constant(0.1, [num_class]))

錯誤的地方在於 [num_class] 的寫法不對,這裏我原本是想要按照這個shape進行初始化,但是查看一下文檔就可以知道, tf.constant()的參數中,有兩個類型是 any 的,所以會造成混淆,因此,要指定這個參數是shape

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章