NNの予測値を出力する方法がわかりません
tensorflowを用いてNNを構築し学習させることはできたのですが,学習させていないデータに対する予測値を出力する方法がわかりません.
記述コードの最後にあるy_predictedにNNから出力される予測値をいれたいのですが,どうすればいいのかわかりません.
また,sess.run(train_step, feed_dict = {X: batch_x, t: batch_t})のtrain_stepの部分がlossやaccに変わっているのを見かけるのですが,よくわかっていません.これはできればでいいので教えてください.
よろしくお願いします。
記述コード
##ミニバッチ学習 num_epoch = 10000 num_data = train_x.shape[0] batch_size = 10 batch_t=[0]*batch_size for epoch in range(num_epoch): sff_idx = np.random.permutation(num_data) ##転置でデータの向きを合わせる for idx in range(0, num_data, batch_size): batch_x = train_x[sff_idx[idx: idx + batch_size]] for i in range(0,batch_size,1): batch_t[i] = train_t[sff_idx[i]] batch_x = batch_x.T sess.run(train_step, feed_dict = {X: batch_x, t: batch_t}) if epoch % 100 == 0: y_predicted = sess.run(???, feed_dict = {X: test_x.T, t: ???}) rms = sqrt(mean_squared_error(test_t, y_predicted)) print('epoch:{} \n \ RMSE:{}'.format(epoch, rms))
補足情報
jupyter notebook 使用
入力層:60,隠れ層:60,出力層:1
入力データは(60,120)で60次元のデータを120個用意しており,内100個を学習データ,残り20個をテストデータにしています
(120,60)にすると,np.random.permutationするときに列がシャッフルされてしまうため,(60,120)の形でシャッフルしたあとに転置しています.
出力データでは(120,1)で1次元データを120個用意し,内100個を学習データ,残り20個をテストデータにしています
RMSE(平均2乗誤差)をテストデータ20個に対して出そうとする際に,テストデータに対するNNの予測値が必要になっています.

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/28 01:31
2019/06/28 04:15
2019/07/01 08:40 編集
2019/07/01 23:30
2019/07/05 11:07
2019/07/05 13:05
2019/07/09 02:13