🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

756閲覧

深層学習ライブラリKerasを使って出した結果をプロットしたい

ki_mura

総合スコア4

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/11/28 08:56

編集2019/11/28 09:08

前提・実現したいこと

参考サイト
このサイトを参考にし自分で用意したxとy座標のデータ(歩いた軌跡)を用いたディープラーニングをし行動予測をしようとしていました。合っているのかはわかりませんが自分の用意したデータに変えて実行してみたのでプロットをしてみようと思ったところ以下のようなエラーメッセージが出てきました。

発生している問題・エラーメッセージ

Length mismatch: Expected axis has 2 elements, new values have 1 elements

該当のソースコード

python3

1 2//--------------- 3def _load_data(data, n_prev = 20): 4 """ 5 data should be pd.DataFrame() 6 """ 7 8 docX, docY = [], [] 9 for i in range(len(data)-n_prev): 10 docX.append(data.iloc[i:i+n_prev].as_matrix()) 11 docY.append(data.iloc[i+n_prev].as_matrix()) 12 alsX = np.array(docX) 13 alsY = np.array(docY) 14 15 return alsX, alsY 16 17def train_test_split(df_posixy, test_size=0.1, n_prev = 20): 18 """ 19 This just splits data to training and testing parts 20 """ 21 ntrn = round(len(df_posixy) * (1 - test_size)) 22 ntrn = int(ntrn) 23 X_train, y_train = _load_data(df_posixy.iloc[0:ntrn], n_prev) 24 X_test, y_test = _load_data(df_posixy.iloc[ntrn:], n_prev) 25 26 return (X_train, y_train), (X_test, y_test) 27 28length_of_sequences = 20 29(X_train, y_train), (X_test, y_test) = train_test_split(df_posixy, n_prev =length_of_sequences) 30 31from keras.models import Sequential 32from keras.layers.core import Dense, Activation 33from keras.layers.recurrent import LSTM 34 35 36in_out_neurons = 2 37hidden_neurons = 500 38 39model = Sequential() 40model.add(LSTM(hidden_neurons, batch_input_shape=(None, length_of_sequences, in_out_neurons), return_sequences=False)) 41model.add(Dense(in_out_neurons)) 42model.add(Activation("linear")) 43model.compile(loss="mean_squared_error", optimizer="rmsprop" , metrics=['accuracy']) 44model.fit(X_train, y_train, batch_size=600, nb_epoch=15, validation_split=0.05) 45 46//---------ここまでは実行できた 47 48//以下プロットをしようとしてエラーが出た部分 49predicted = model.predict(X_test) 50dataf = pd.DataFrame(predicted[:100]) 51dataf.columns = ["predict"] 52dataf["input"] = y_test[:100] 53dataf.plot(figsize=(15, 5))

自分で用意したデータ

イメージ説明

454行続く

補足情報

そもそもちゃんとできているのかがわからないため、間違っているところがありましたらお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

model.save_weights('mnist_mlp_weights.hdf5')//重みの保存
model.load_weights('mnist_mlp_weights.hdf5')//重みのロード

predicted = model.predict(X_train)

df_predicted = pd.DataFrame(predicted, columns=list('xy'))
plt.plot(df_predicted["x"], df_predicted["y"],'ro')

投稿2019/12/02 08:54

ki_mura

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問