Multivariate Time Series Prediction with LSTM の例(GitHub)を動かしてみる。
ここでは、
github.com
を動かしてみる。
↓ YouTuBEの解説あり。
youtu.be
自分の環境
- Windows10
- Python3.7.2
- anacondaとかは使わずpip
- GPUなし
動かす手順を示す(1回動いているので、リピート)
手順1
以下。
手順2
pyファイルを実行。
get_ipython().magic('matplotlib inline')
NameError: name 'get_ipython' is not defined
定番のエラー。get_ipython()
をコメントアウトし、再度実行。
AttributeError: 'DataFrame' object has no attribute 'as_matrix'
as_matrix()をvaluesに書き換え。
NameError: name 'get_ipython' is not defined
別の記事
https://keep-loving-python.hatenablog.com/entry/2022/04/17/120802
に書きましたが、ここは、コメントアウトにすると
実行すべき行が抜けるので、
中味を展開。
es = EarlyStopping(monitor='val_loss', min_delta=1e-10, patience=10, verbose=1)
rlr = ReduceLROnPlateau(monitor='val_loss', factor=0.5, patience=10, verbose=1)
mcp = ModelCheckpoint(filepath='weights.h5', monitor='val_loss', verbose=1, save_best_only=True, save_weights_only=True)
tb = TensorBoard('logs')
history = model.fit(X_train, y_train, shuffle=True, epochs=30, callbacks=[es, rlr, mcp, tb], validation_split=0.2, verbose=1, batch_size=256)
以下のとっても変なグラフになる。
なぜか、コードの末尾にある、dataset_trainの3行を、下記の位置に移動。
# Parse training set timestamp for better visualization
dataset_train = pd.DataFrame(dataset_train, columns=cols)
dataset_train.index = datelist_train
dataset_train.index = pd.to_datetime(dataset_train.index)
plt.plot(PREDICTIONS_FUTURE.index, PREDICTIONS_FUTURE['Open'], color='r', label='Predicted Stock Price')
完成!!!
(いらすとや)
この動かしたときのモジュールのバージョン
Keras 2.3.1
tensorflow 1.15.0
matplotlib 3.5.1
なんか、matplotlib
のエラーにならないためには、バージョンを気にしないといけなかったような気がする。
Kerasとtensorflowのバージョンは、Youtube他で指定されていた気がする。
上記のバージョンは、少し、違うかも。でもおおよそ、近いはず。
自分の関連記事(2023/10/06)
この記事で紹介しているもの、すごく、わかり易い!!!
ai-de-seikei.hatenablog.com
コメント
不明点などあれば、コメント等に書いて下さい!