AttributeError: 'tuple' object has no attribute 'layer'の対処


はじめに

株価の予測とか色々Kerasを使ってやろうとしたのだがエラーがでて混乱
結局は互換性がないimportをしていたのが原因

環境

一応
windows10
python3.7

起きたエラー

qiita.py
AttributeError: 'tuple' object has no attribute 'layer'

タプルなんてどこにも見当たらなくてどうしたものかと苦しんでいたら以下の投稿を発見
kerasとtf.kerasの差分と互換検証 #1
読んでみるとこのように書いてあった

※2の実行時エラー発生(tf-kerasのModelにmb-kerasのLayerを突っ込む)
AttributeError: 'tuple' object has no attribute 'layer't

どうやら互換性がないものを突っ込むとこのようなエラーが起きるらしい

対処法

qiita.py
import numpy as np
from tensorflow.keras.models import Model
from sklearn.model_selection import train_test_split
from keras.layers import Input, Dense, LSTM,concatenate,MaxPooling1D
from sklearn.preprocessing import StandardScaler

上記が元のimport
2行目と4行目があっていないので合わせたのが下記のimport

qiita.py
import numpy as np
from tensorflow.keras.models import Model
from sklearn.model_selection import train_test_split
from tensorflow.keras.layers import Input, Dense, LSTM,concatenate,MaxPooling1D
from sklearn.preprocessing import StandardScaler

おわり