【python】~多次元配列の取り出し方とpickle化~
スポンサーリンク
KeyKです。
今日はTensorflowとMT4の接続を試みました。案の定。バグの嵐でテンパりまくってます。
という訳で、今日は躓いた「多次元配列の取り出し方」と「pickle化」について説明します。
多次元配列の取り出し方
Tensorflowの仕様上、1つの目的関数を予測した場合の出力は以下のようになります。
※もし3.5pipsの下落を予測した場合
Predict : [[[-3.5000]]]
このように、出力結果は三次元配列の一つとして出力されます。これを取り出す作業に少し時間がかかりました。基本的に一次元配列ばかりいじっているので、多次元配列の値の取り出し方をすっかり忘れてました。笑
以下のようにすると解決します。
yhat[0][0][0] # 出力結果 : -3.5000
pickle化
これはまだ解決していませんが、Flaskサーバーをローカルに立て、pickle loadしようとすると出来ないということが起こっています。エラー内容はAttributeErrorなので、○○というオブジェクトが無いよ~っていうエラーですが、原因が全然分かりません。'_thread._local'オブジェクトにValueがありませんエラーなので、valueを使っていそうな箇所を重点的にデバッグしていこうと思います。
ちなみに、何故か1回目だけ正常に動いてました。
今後の目標
このバグを修正し、動作確認ができればTensorflowを使ってMT4を自動売買することができます。デモ口座を使用しているので、そこで自作システムで収益を得ることができるのか観察しようと思います。
※バグが出る前提でプログラム作ってるところがあるので、一発ですんなり動くと逆に驚きます。笑