TensorFlow的一些錯誤解決

2021-10-04 23:51:46 字數 1512 閱讀 5167

錯誤描述

nodedef mentions attr 『truncate』 not in opy:dstt; attr=srct:type; attr=dstt:type>; nodedef: tacotron_model/inference/locationsensitiveattention/sequencemask/cast_1 = castdstt=dt_float, srct=dt_bool, truncate=false, _device="/job:localhost/replica:0/task:0/device:cpu:0". (check whether your graphdef-interpreting binary is up to date with your graphdef-generating binary.).

上面這個錯誤是我的的pb模型正常匯出和載入,但是在計算的時候出現上述錯誤。

解決辦法

根據錯誤的描述,可以知道錯誤可能出現在sequencemask這一塊,進一步分析發現sequencemask這個操作是在訓練的時候才需要的操作,inference階段是不需要這個操作的,把配置檔案裡的相關選項置成false之後,重新匯出模型,該問題就沒有了。

錯誤描述

no opkernel was registered to support op 『pyfunc』 with these attrs. registered devices: [cpu], registered kernels:

[[node: tacotron_model/pyfunc = pyfunc[tin=[dt_int32, dt_int32], tout=[dt_int32], token=「pyfunc_0」, _device="/cpu:0"](datafeeder/input_queue_dequeue, tacotron_model/strided_slice)]]

載入模型遇到上述錯誤

解決辦法

上面型別的錯誤是由於 pyfunc 這個op不被支援造成的,需要將這個op修改。

錯誤描述

specified in either feed_devices or fetch_devices was not found in the graph

解決辦法

在匯出pb格式模型時,相關node沒有被放到圖裡面,或者相關node名字出現了變化。

錯誤描述

exiting due to exception: cannot serialize protocol buffer of type tensorflow.graphdef as the serialized size

解決辦法

tf中的一些操作,比如tf.assign,如果反覆呼叫,可能就會出現上面的錯誤,原因就是tf會把上面的操作不斷新增到graph中,導致graph不斷變大,最終超標。

tensorflow遇到的一些錯誤

1 tensorflow dtype t.dtype.base dtype attributeerror float object has no attribute dtype 參考 我報錯的行是 disc gradients disc optimizer.compute gradients dis...

Tensorflow的一些基本用法

在使用tensorflow中會遇到一些其基本的用法,再次作為記錄備忘 在計算整體的loss是會將不同部分的loss放入乙個集合中,最後計算整體的loss,因此會用到tf.add to collection,具體參考tensorflow中的cifar10的例子,用法如下所示 tf.add to col...

TensorFlow的一些學習筆記

1 靈活性tensorflow不是乙個嚴格的神經網路工具包,只要你可以使用資料流圖來描述你的計算過程,你可以使用tensorflow做任何事情。你還可以方便地根據需要來構建資料流圖,用簡單的python語言來實現高層次的功能。2 可移植性tensorflow可以在任意具備cpu或者gpu的裝置上執行...