なんか、ほぼほぼワイがやりたいと思ってた事をやってるソースコードを見つけたのでそれを真似てもう動く所までいっちゃいましたw
昨日はWSL2環境でGPUに対応してないバイナリと書きましたが、逆でpipインストールしたTensorflowはGPU対応しか無いけどWSL2のUbuntu側にライブラリ(so)が無いみたいなエラーメッセージだったので、WSLのUbuntu側にCUDA入れて奮闘していましたがOS(Windows側)から許可されてねー!みたいなエラーで動かなかったです!
そして!今!エラーメッセージを貼っ付けようかな?とコマンド打ったら動きましたw
$ nvidia-smi
Sat Oct 8 21:12:39 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 520.61.03 Driver Version: 522.06 CUDA Version: 11.8 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... On | 00000000:0A:00.0 On | N/A |
| 30% 52C P3 24W / 170W | 11460MiB / 12288MiB | 30% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
元々WSLを使っていたのはメインPCのWindows環境を汚したくないからでしたが、諦めてWindows側にPython環境を構築した結果使えるように変わりましたね。。。
Windows側にもCUDA Toolsが入ってないとWSL側では使えない感じなのかな?
まぁとりあえずWindows側でPython3.9+Tensorflow2が動く環境を作ったので、その内環境構築記事として整理しようかと思いますが、今日は超楽しいという動作日記です。
過去にマイニングの日記に書いたように、mini-ITXに収まるシングルファンのRTX3060を買ってそれを使っています。
メモリ12GBあるのが一気にほとんど使っちゃう感じになるのがめっちゃ面白いですね。
メモリも同時期にグラフが上がってるので、利確子Ver3が完成したらメモリ増し増しグラボ増し増しで動かさないと厳しいんじゃないかな?と大体イメージも出来てきましたね!
あ、上述したようにpipインストールするTensorflowはGPU対応版オンリーなので、機械学習を開始するとTensorflowが勝手にGPU=RTX3060を使ってくれるので上図のようにGPUが使用されます。
TensorFlow の pip
パッケージには、CUDA® 対応カードに対する GPU サポートが含まれています。
https://www.tensorflow.org/install/gpu?hl=ja
なので昨日WSLにpipインストールしたのもGPU対応してるのにsoがねーよ!というエラーが常に表示されていた訳です。
とりあえずバッチサイズを変更すると1エポック辺りに使用するレコード数が変わるので、今適当に数字変えながら試してる感じです。
今は1,000エポック=1,000回勉強しろ!という感じでやっていますが、1エポック1分くらいかかってるのが上図から分かる感じですかね。
レコード数と学習時間や未来予測の結果から、色々と調整の余地がありそうで楽しみです!
上図の1,000エポックにする前に10エポックだけで未来予測させてみたら、まぁそこそこ良い感じのデータが得られたので楽しみで夢が広がりング!!
ちなみに検索すると出てくる未来予測は日足データを使ってる物が多いと思いますが、ワイはわざわざMT4でデータと作ったと書いているのは、日足より短い足でテクニカル指標の数値も落とし込んだ形で学習させている感じになります。
スキャット利確子とは?
説明しよう!スキャット利確子とはドラマ「トリック3」に出てきたスキャット美香子を文字ったMT4用のEAスクリプトの事だ!
「お前のやった事は!全部すべてスリっとお見通しだ!」
と機械学習のAIで未来予測するEAスクリプトに進化を遂げようとしているんだ!
ワイが開発したスクリプトなので皆さんは同じスクリプトは利用出来ませんので自分で作りましょう!
コメント