自分向けのインストールメモを残しておきます。
■最終目標
強化学習を利用した自動トレードです。
まずは、Deep Q-Networkから初めて、最終的にはRainbowでのトレードを目指します。
■前提
まず、口座に連携する方法についてはいろいろあるのですが、MT4に共有メモリかなにかで連携するか、oandapyを使ってOANDA Rest APIに直結するか、Jijiを使ってRuby経由でやるかはさておき、開発そのものは慣れたWindows環境が良いと思いWindows10にインストールする前提で行きます。
※oandapy OANDA Rest APIのPythonラッパー
https://github.com/oanda/oandapy
※Jiji RubyベースのFXトレードフレームワーク(OANDA RestAPI対応)
http://jiji2.unageanu.net/
深層学習のフレームワークとして有名で資料も多いtensorflow+Python(Anaconda)という環境を作成したいと思います。
※tensorflow(テンソルフロー)
Googleが開発した商用利用も可能な深層学習フレームワークです。
※Anaconda(アナコンダ)
Python言語環境と学術演算ライブラリをパック化したパッケージです。
ヘビ仲間です。
※Python(パイソン)
なぜか?深層学習でよく利用されるようになった開発言語です。現在Python使いの人単価はプログラマ業界でぶっちぎっていますので、いまから業界に入る人は頑張って勉強しましょう。私?残念ながら、現時点ではPythonわかりません。今から勉強します。
■インストール環境
Windows10 64bit
Core i7
Geforce GTX960m
Mem 16GB
アルファベットが開発したtensorflowはGPUによる高速化が可能です。
対応しているGPUはGeForceのみとなっていて、AMD Radeonには対応していません。
ちょっと動かしてみただけですが、深層学習はめちゃくちゃ遅いので、GeForce必須です。ある程度新しくないとだめですので、GeForce GTXシリーズ必須です。
下のページでスコア値が3.0以上は必須です。
https://developer.nvidia.com/cuda-gpus
少し動かしましたが、正直ノートPC搭載のGTX960mでも力不足で、GTX1080クラスが必要だなと感じました。
また、GPUアクセラレーション有効状態でもCPUパワーを50%ほど持っていくため、CPUもそこそこのスペックが必要そうです。本格的にやるならCore i5-8400+GTX1080のマシンを新調しようと思いました。
■インストール手順
tensorflowのインストールページをベースにメモを残します。
https://www.tensorflow.org/install/install_windows
1.CUDA toolkit 9.0のインストール
tensorflowのインストールを書いた記事で少し古いとCUDA8.0をインストールすることになっているものも多いです。2018/4/25時点のバイナリ配布版tensorflowではCUDA9.0を利用します。
すでにCUDA9.1がリリースされていますので、ソースコードからビルドするとCUDA9.1も利用可能です。ここではバイナリ版をインストールする前提にします。多分次のtensorflowバイナリ配布バージョンの対応CUDAは9.1になると思いますので、tensorflowのインストールページを確認して、常時必要なCUDA toolkitのバージョンを確認してください。
https://developer.nvidia.com/cuda-90-download-archive
まず、このページからCUDA9.0をダウンロードします。
Windows→10→exe(local)を選択して表示されるBase Installer、Patch1、Patch2をダウンロードします。
ダウンロードしたexeファイルを、Base Installer、Patch1、Patch2の順に起動して、CUDAをインストールします。
2.cuDNNのインストール
https://developer.nvidia.com/cudnncuDNNというCUDA用深層学習パッケージをインストールします。
ここでは、NVIDIAの開発者メンバーシップに登録が必要です。
未登録の方は、Download cuDNNボタンを押した後に表示されるメンバーシップ要求画面でjoinボタンを押してからメンバー登録してください。
メンバー登録すると、登録したメールに「Please confirm your email to join the NVIDIA Developer Program」というタイトルの認証メールが届きます。HTML表示可能なメーラーにてメールのVerify Emailをクリックすると認証完了します。
その後、先ほどのメンバーシップ要求画面右側にあるloginボタンを押して登録したユーザにてログインするとダウンロードが可能です。
CUDA9.0用のcuDNN「Download cuDNN v7.1.3 (April 17, 2018), for CUDA 9.0」をダウンロードします。
ZIPファイルでダウンロードされますので、ZIPファイル内のbinフォルダをCUDA9.0のbinフォルダに上書きします。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin
最後にWindowsの環境変数PATHにCUDA9.0のbinフォルダへのパスを通して終了です。
環境変数の編集はWindows10であれば、Siriに環境変数とお願いすると表示されます。
3.Anacondaのインストール
Python環境のパッケージであるAnacondaをインストールします。https://www.anaconda.com/download/
64 Bit Graphical Installer Anacondaをダウンロードします。
クリックするとダウンロードが開始されます。画面上にメールアドレス登録してくださいと出てきますが、すでにダウンロードは開始されていますので無視しても大丈夫です。
基本的にすべてデフォルトのままインストールします。
Installation OptionsにてRegister Anaconda as my default Python3.6にチェックしておきます。(デフォルトでチェックが付いていると思います)
Visual Studio Coreのインストールを聞かれます。Windowsの場合Visual Studio Cummunityが利用可能です。仕事柄すでにインストール済みですので、ここはSkipしました。Visual Studio CummunityにおけるPython開発の記事は別の機会に書きます。
4.tensorflowのインストール
Anacondaインストール完了すると、Anaconda Promptが起動可能です。プログラムメニュー→Anaconda→Anaconda Promptを起動します。
以下Anaconda Prompt上の操作です。
まず、Anaconda用インストールマネージャーcondaアップデートを行います。次のコマンドを打ちます。
conda update -n base conda
なぜか一回目block should ....というメッセージが操作可能なコマンドとして認識されませんと怒られるため、2回実行します。
次にtensorflowのための仮想環境を作成します。tensorflowのインストールページではPython3.5を指定していますが、3.6が出ているため3.6にします。次のコマンドを打ちます。
conda create -n tensorflow pip python=3.6
activate tensorflow
pythonのパッケージマネージャーpipが少し古いので、あらかじめアップデートしておきます。
python -m pip install --upgrade pip
ついにtensorflowのインストールです。
pip install --ignore-installed --upgrade tensorflow-gpu
tensorflowのインストール解説には動作確認が載っていますので実行してみましょう。
以下、https://www.tensorflow.org/install/install_windowsからの抜粋です。
$ python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
CUDAへのパスが通ってないと、ここでdllが足りないと怒られるので、もしも実行に失敗した場合環境変数を確認してください。
(蛇足)
こう思うとOANDAすごいですよね。本気で倍率10倍制限とかくそだろ!とか言いたくなります。クリック365へ天下り禁止にしてから制限を論じてください。
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。
インジケータ一覧
Twitterもよろしくお願いします。
https://twitter.com/mt4program
Trading View プロフィール
ブログランキングにご協力よろしくお願いします。m(._.)m
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。
CUDAへのパスが通ってないと、ここでdllが足りないと怒られるので、もしも実行に失敗した場合環境変数を確認してください。
(蛇足)
こう思うとOANDAすごいですよね。本気で倍率10倍制限とかくそだろ!とか言いたくなります。クリック365へ天下り禁止にしてから制限を論じてください。
「MT4でFXを勝ち抜く研究をするブログ」で公開している無料インジケータは、こちらの一覧から。
インジケータ一覧
Twitterもよろしくお願いします。
https://twitter.com/mt4program
Trading View プロフィール
ブログランキングにご協力よろしくお願いします。m(._.)m
にほんブログ村 |
お約束ですが、本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。