TensorFlowのエラー:ハッシュ化できない型:'numpy.ndarray'エラー
グラフを計算するためのTensorFlowの実行中に、sess.run()という行がエラーを報告することがあります。
unhashable type: 'numpy.ndarray' error
大雑把に言うと、これは
ハッシュ化できないタイプ
この問題は、次のような場合に発生します。
feed_dict
の中にあります。私たちは
feed_dict
パラメータは通常、プレースホルダ
placeholder
指し示された特定のデータは、辞書として格納されます。Pythonにおける辞書のキーと値の型には制限があり、すべての型が辞書のキーと値として動作できるわけではありません。
つまり、ここでの問題は、feed_dictに格納されているキーや値に問題があるということです。通常、キーには
placeholder
初心者が使うとキーに問題がある可能性があるので、一応注意して確認してみてください。
しかし、上記のような問題以外に考えられるケースは
placeholder
が実データと同じ型でない場合、例えば
placeholder
は
tf.int32
であり、実データは
np.int64
ここで、対応する型が一致するように設定する必要があります。整合性が取れていないと、上記のような問題が発生する可能性があります。参考リンク
https://stackoverflow.com/questions/43081403/unhashable-type-numpy-ndarray-error-in-tensorflow
ps:ところで、簡単におさらいしておくと
Pythonの辞書の特徴
1. ケンはハッシュ化可能、すなわちイミュータブルでなければならない。
ユーザー自身が実装するオブジェクトは、id()が異なるため、デフォルトでハッシュ化可能です。ハッシュ化可能なオブジェクトは、以下のプロパティを持つ必要があります。
hash()関数をサポートし、hash()メソッドで得られたハッシュ値が不変であること。
Pythonの基本型である文字列、整数、浮動小数点数、タプルは不変であり、キーとして(
リスト型は
).
2. 辞書のメモリーオーバーヘッドはあるが、高速アクセス
辞書はハッシュテーブルで実装されるため、ハッシュテーブルには疎なペアが必要であり、そのため辞書はある程度のスペースを占めることになる。もちろん、これは辞書の速度に比べれば無視できる程度である。
3. 辞書のキーの順番は一意ではない
ハッシュテーブルは挿入時や読み込み時にハッシュの衝突が発生することがあるため、辞書のカーネルの順番は一意ではないが、辞書のカーネルの順番にかかわらず、両方の辞書カーネルペアが同じであれば、両方の辞書が等しいことになる
関連
-
PythonでクロールするときにAttributeError: 'NoneType' オブジェクトに 'find_all' 属性がないのを解決する
-
Python pipのインストールと使用方法の詳細
-
PythonがNameError: name '_name_' is not definedのようなエラーを発生させる。
-
ImportError: 名前 '_validate_lengths' をインポートできない。
-
Python仮想環境のインストールと設定
-
Python3 xlsxwriterモジュールのインストール
-
移動平均のPython実装
-
python-OverflowError: Python の int が大きすぎるため C の long に変換できない
-
'dict_items' オブジェクトは添え字を付けることができません。
-
Pythonの学習における問題点
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python】import pandas, error pandas Missing required dependencies ['numpy'] Reason Analysis
-
チェックされていないruntime.lastError: 接続を確立できませんでした。受信側が存在しません。
-
undefinedAttributeError: 'dict_values' オブジェクトに 'translate' 属性がない エラーは解決されました。
-
concat を使用して 2 つのデータフレームを結合する際のエラー
-
ImportError: Windows の Django でプロジェクトを作成するとき、django.core solution という名前のモジュールがない。
-
ImportError: torchvision という名前のモジュールがありません。
-
Python Numpyのarrayarrayとmatrixmatrix
-
Pythonのエラーです。ModuleNotFoundError: pygame'という名前のモジュールはありません。
-
Pythonソケットプログラミング [WinError 10061] ターゲットコンピュータがアクティブに拒否しているため、接続できない。
-
Python ネットワークリクエストのエラー "ConnectionRefusedError: [WinError 10061] ターゲットコンピュータがアクティブに拒否したため接続できません"