環境構築完了

やったぜ。投稿者:変態糞さいさい

 

ようやくTensorFlow(GPU版)を動かすことに成功しました。
例によって知見を広めるための記事でもなんでもないです。強いて言えば日記。

 

前提条件
Pythonおよび開発環境への知見はほぼゼロ
 (Pythonコンパイラ方式と勘違いしていたレベルの知見のなさ)
機械学習に当たって何が必要なのかもわかっていない
・サンプルコードコピペマンで乗り切れるだろうという根拠のない自信だけで着手

 

■環境構築
 ・Python、Anaconda、PyCharmのインストール
  ・こういう時のセオリーは最新版入れれば万事オッケーみたいなところあるから、という理由で2020.3時点での最新版である3.8.2を突っ込む。これがすべての悲劇の始まりとも知らずに
  ・AnacondaってなんかCentOS環境構築した時に勝手に入ってきてこのパッケージは何だ!なんでこんなものが入ってるんだ!とクソ客に怒られたことを思い出し苦虫をかみつぶした顔でインストール。ちなみにクソ客についてはクソ客自身がどこからか入手してきた「安全なルートで安全であることを保障されたインストールメディア」を使って「クソ客自身が制定した手順」に則ってインストールしたらOSを入れた時点でAnacondaも入ってたと言い返したら黙った。
  ・PyCharm?ああEclipseの事ねフフンという雑な理解でインストール。多分これを使えばいいんだろうという固定観念がここでできてしまったのが悲劇その2。

■必要なライブラリ探し
 ・まずはマルコフ連鎖
  ・anaconda pronptを立ち上げpip install janomeする→普通にインストールされる
  ・Qiitaを見ながらコードをコピペして実行する→文章生成 ヤッタネ!!
 ・さらに高度な学習のためにディープラーニングとかいうやつを試みる
  ・ディープラーニングにはTensorFlowとKerasというやつが必要らしいことを知る
  ・anaconda pronptを立ち上げpip install tensorflowとpip install kerasをする→普通にインストールされる
  ・PyCharmでコピペしてきたコードを実行するとクッッッッッッッッッッッソ処理が遅い
   どれぐらい遅いかっていうとクッキークリッカーで女王ビートを植えて枯れるまでを終始眺めることができたぐらいには遅い
   調べるとCPU版使っているからとのこと。あと学習データがちょっとお試しレベルの10倍ぐらいでかかった

 

■地獄の始まり~TensorFlow(GPU版)が動かない~
 ・へーtensorflow-gpuってやつ使えばいいんだ
  ・甘すぎる考えでanaconda pronptを立ち上げpip install tensorflow-gpu→普通にインストールされる
  ・もう一回PyCharmで機械学習実行→ていうか動いてんのコレ?レベルの無反応
  ・データがでかすぎることに気づいて300文字ぐらいにした。もうとにかく動いているところを見せてくれ
  ・動いた、だがCPU版である
 ・ウオオオオオオオオ(半ギレ)
  ・どうやらGPU版を使うにはCUDAとcudnnとVisual Studio(C++)とグラフィックドライバが必要らしい

 

■地獄のただ中~CUDAが入らない~
 ・CUDAとcudnnってバージョン合わせないといけないの…?しかもtensorflowとpythonも…?
  ・どうやらTensorFlowはPython3.7には対応していないようだ、と1年前くらいの情報を掴んでしまう
 ・どうにかCUDAとcudnnをやっつけてimport tensorflowをしろの一言に頭を抱える
  何しろどこでimport tensorflowをすればいいのか全くわからなかったのだ
 ・jupyter notebookでimport tensorflowをしろと書いてあるのを見つけて早速jypyter notebookをインストールし、立ち上げる
  なぜか前面に出てくるChrome→前回記事
 ・そしてやっぱりCPUで動くtensorflow…
 ・ここまでやっておいて気づいたが、仮想環境って何…?全部baseってやつでやってたんだけど…?
  ・PC内の環境変数が度重なるインストール&アンインストールで汚染されまくってしまう
 ・CUDAを入れたり出したりしたところ、CUDA10.0がインストールできなくなる
  (多分何かのライブラリがすでにインストール済みの状態になっていたのだと思われる)
 ・今度は入れたら入れたでcudnnを入れようとするフォルダが見つからない。
  ネットに書いてあった手順と自分の環境に入れたCUDAのバージョンが違ってたことにすら気づけないほどパニック状態に
 ・そしてPythonのコードが動かなくなるのであった。(HDF5のヘッダのバージョンが違うとかいうエラーが出てきた)
 ・HDF5 1.10.5で書いてあるけど入ってるライブラリ1.10.4だよ~動かせないよ~と怒られたのでアップデートを試みる
 ・が、PyCharmでは1.10.4以上選べなかった。なんだこれは!!!!!

 

■地獄の終わり~手順書なんか信用しちゃなんねえこともある~
 ・TensorFlow公式サイトでcudnnとCUDAのバージョンを見て揃えた
 ・Pythonももうとりあえず最新版にアップデートし、後で考えることに
 ・import tensorflowの意味がよくわからんから後にしよう
 ・こうしてようやくTensorFlow2.1.0(GPU版) + Keras 環境が出来上がったのである。
  祈るような気持ちでPythonのコード動かしたら動きました。import tensorflowとは何だったんだ。
  あと結構すさまじい量だった学習データも1時間ぐらいで学習終わりました。GPUのちからってすげー!

 

環境構築だけでわりと心折れそうになってたんですが折れなくてよかったです。
結局要らなかったもの
・Jupyter notebook
・import tensorflow
・HDF5のアップデート

ただ今使ってるPCのGPUがGTX 970なので今をときめくスペシャルでハイエンドなマシンには全然敵いません。
次のボーナス出たらハイエンド機買いたいです。もう毎回前カバー開けて電源の銅線ショートさせて起動するの面倒くせえんだ…