最近寒さも和らぎ春も近くなってきました。そろそろ家でマイニングをするのも限界な気がしています・・。冬場は暖房になりますが、それ以外の季節では冷房が必要になってきます。
↓わが家のマイニングリグ
ビットコインの半減期も近いと噂されているのでグラボを有効活用できないか考えてみました。
ヤフオクで売る、ゲーミングマシンとして使うなどありますが、今回はAIに使ってみました。
画像を扱う場合、GPUがあるのとないのでは雲泥の差があります。
試したAIはgoogleのtensorflowです。
↓参考にした記事です。
https://qiita.com/kimisyo/items/22f2f8f4dc7f2e69dcd8?fbclid=IwAR3zUjp7sNsuuVlFO0FtgFhLZ5hxFG_i01-leMoEtEmdI0g0617g26Bkfog
anacondaをインストールして、conda install tensorflow-gpu コマンドでやるのが
手っ取り早いです。
↓anaconda ダウンロード
https://www.anaconda.com/distribution/#download-section
普通にインストールするとtensorflow-gpuとCUDAとVisual studioとのバージョンの相性でハマってしまうことがあります。初心者にはおススメできません。conda installならCUDAも一緒にインストールしてくれます。
pythonのシェルでGPU用に設定できたか確かめます。
>>> from tensorflow.python.client import device_lib
>>> device_lib.list_local_devices()
name: GeForce GTX 1060 6GBなどとグラボの情報が出てくれば成功です。
準備ができたので試しに画像解析してみます。
まずは学習用プログラム
retrain.pyと判別用プログラム
label_image.pyをgithubからダウンロードします。(pip install tensorflow_hub コマンドでtensorflow_hubをインストールしておいてください)
python retrain.py --image_dir フォルダ名 のコマンドでディレクトリ内の画像を学習できるの
ですが、判別するために、中に2つ以上のフォルダがなければなりません。
ERROR:absl:Only one valid folder of images found at ファイル名 - multiple classes are needed for classification.
ひとつの画像フォルダのみではエラーとなってしまいます。
無事学習ができれば学習ファイルが保存されたことを示すメッセージが出てきます
INFO:absl:Save final result to : /tmp/output_graph.pb
続いて判別です。判別したい画像を指定します。(label_image.pyと同じディレクトリに画像ファイルをおいてください)
python label_image.py --graph C:/tmp/output_graph.pb --labels C:/tmp/output_labels.txt --input_layer Placeholder --output_layer final_result --image 画像ファイル名 --input_layer Placeholder
これで フォルダ内の数に応じて判別結果が出力されます。
フォルダ1 0.9474755
フォルダ2 0.028800543
フォルダ3 0.01945223
フォルダ4i 0.004271731
AIは学習時にマシンスペックを使います。ここでGPUの能力が発揮されます。
GPUによってかなり速く処理できました。
先日ヤフオクでグラボ売ってみました!