1. ホーム
  2. Deep Learning

TypeError: 'module' object is not callable solution to [Keras] call "merge".

2022-02-18 11:01:47
<パス

質問の説明

U-Netのモデルコード(Kerasベース)を実行すると、以下の問題が発生しました。

Traceback (most recent call last):
  File "/home/user7/myproject/Codes/unet.py", line 107, in 

    myunet.train()
  File "/home/user7/myproject/Codes/unet.py", line 80, in train
    model = self.get_unet()
  File "/home/user7/myproject/Codes/unet.py", line 45, in get_unet
    merge6 = merge([drop4, up6], mode='concat', concat_axis=3)
TypeError: 'module' object is not callable


調べる keras公式ドキュメントのMerge layer"の項を参照。 kerasの公式ドキュメントを確認したところ、現在のバージョンのkerasの融合マトリックスでは、このように merge を使用し、代わりに keras.layers.Concatenate .

解決策

エラーコードを入れる

merge6 = merge([drop4, up6], mode='concat', concat_axis=3)


に修正します。

merge6 = Concatenate(axis=3)([drop4, up6])