##はじめに
keras で時系列データの機械学習してみようと構築しているとLSTMでエラーが出ました。いろいろ調べた結果numpyのバージョンを下げることで解決しました。その過程をまとめます。
####書いたコード
ひとまず簡単なmodelだけ一旦作成しようと以下のコードをとりあえず実行。数字は適当です。
from tensorflow.keras.layers import Dense, LSTM, Input, Embedding, Dropout
from tensorflow.keras.models import Model
nunits = 365
embedding_size = 100
input_layer = Input(shape=(None,))
x = Embedding(1000, embedding_size)(input_layer)
x = LSTM(nunits)(x)
x = Dropout(rate=0.2)(x)
out = Dense(365, activation='softmax')(x)
model = Model(input_layer, out)
model.summary()
詰みました。
そこでnumpyのバージョンを下げればいいとの情報を耳にしたので、新たなLSTM用の仮想環境を作成し、そこでnumpy==1.19.1をインストール
###仮想環境の作成、その他諸々のインストール
conda create -n forLSTM python=3.7 ipykernel
ターミナルでこのコマンドを実行してforLSTMという環境を作成
そして、
conda activate forLSTM
これでforLSTMに侵入
もろもろインストールしていきます。
conda install numpy==1.19.1
conda install tensorflow
conda install keras
きました!
vscodeでセルコーディングをしている際は、右のinteractiveと書いてある部分(呼び方がわからない)の右上や、画面の左下などにどの環境にいるかが書かれているので、そこまでちゃんと移行していないとまたエラーが出るので注意です。
###参考文献
[生成Deep Learning]
・David foster 著
・松田晃一、小沼千絵 訳
・オライリージャパン
・2020年発行