keras AttributeError: 'NoneType' オブジェクトに属性 '_inbound_nodes' がない。
2022-02-22 07:18:56
エラーの原因とヒント
kerasを使ってモデルを構築する際に、TensorFlowをインターリーブして構築する必要があったのですが、kerasはfunctionalでもsequentialでも、各層の出力型はlayer typeなので、keras以外の関数を使うと、得られる変数型はlayer typeではないので、以下のエラーが報告されるようです。
File ". \lib\site-packages\keras\engine\network.py", line 1325, in build_map
node = layer._inbound_nodes[node_index]
AttributeError: 'NoneType' object has no attribute '_inbound_nodes'
ソリューション
解決策は、カスタムレイヤーの出力をkerasのレイヤータイプに変更することで、実装はkerasのLambda関数を呼び出すだけとシンプルです。
ここでは、それを解決するための簡単な例を紹介します。
方法1
from tensorflow import squeeze
from keras.layers import Lambda
def squeeze_dim(input):
output = squeeze(input, axis = [1,2])
def my_model(inputs):
x = Conv2d(inputs)
...
# Just use Lambda to call the predefined functions
x = Lambda(squeeze_dim, name='sqe_dim')(x)
model = Model(input = inputs, output = x)
...
from tensorflow import squeeze
from keras.layers import Lambda
def my_model(inputs):
x = Conv2d(inputs)
...
# Wrap the function directly in Lambda
x = Lambda(lambda x: squeeze(x, axis = [1,2]) )
model = Model(input = inputs, output = x)
...
方法2
from tensorflow import squeeze
from keras.layers import Lambda
def my_model(inputs):
x = Conv2d(inputs)
...
# Wrap the function directly in Lambda
x = Lambda(lambda x: squeeze(x, axis = [1,2]) )
model = Model(input = inputs, output = x)
...
終了
関連
-
ValueError:入力配列を形状 (450,600,3) から形状 (64,64,3) にブロードキャストできませんでした。
-
深層学習トラッキングアルゴリズム概要
-
Tensorflow 踩坑:ImportError: DLL のロードに失敗しました。指定されたモジュールが見つかりません。 TensorFlowのネイティブランタイムのロードに失敗しました。
-
ImportError: libSM.so.6: cannot open shared object file: そのようなファイルやディレクトリはありません
-
トーチの取り付けと使用
-
参照用シークレットを呼び出す:BN層詳細解説
-
pytorchはエラーを報告します。ValueError: num_samples は正の整数値であるべきですが、num_samples=0 となりました。
-
ロジスティック回帰は2分法モデル
-
tensorflow experience code error Adding visible gpu devices: 0 , モジュール 'tensorflow' には 'Session' という属性がありません。
-
TensorFlow実行時エラー、AttributeError: モジュール 'pandas' には 'computation' という属性がない。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
などの警告を出しながらFaster-RCNNを実行します。RuntimeWarning: invalid value encountered in greater_equal などの警告が表示されます。
-
undefinedGoogLeNet 論文の翻訳 - 英語と中国語で書かれています。
-
ResNetの紹介
-
[Tensorflow-Error】CUDA_ERROR_OUT_OF_MEMORY:メモリが不足しています。
-
OrderedDict' オブジェクトに 'eval' 属性がありません。
-
Tensorflowのメタフィジカルエラーです。終了コード -1073741819 (0xC0000005)
-
caffeのインストールで「error : too few arguments in function call」エラーが発生する。
-
TypeError: 'module' object is not callable solution to [Keras] call "merge".
-
Tensorflow-gpu2.0.0インストールとtensorflow-gpuインストール成功のテストプログラム。
-
AttributeError: 'tuple' オブジェクトには 'log_softmax' という属性がありません。