ブログランキング・にほんブログ村へ


iPhone/iPad用潜水艦ゲームアプリ ソナーエコー iTunesにて公開中

2020年01月19日

PlaidMLを試してみたけど駄目だった話

色々あって、長く愛機だったMacBookAirもさすがに古くなってきたわけで。なにしろ2010か2011かそのへんで。
最新のOSXもついに入れられなくなり、iPhoneアプリも更新できなくなっちゃって。
そうでなくても多分メモリ不足でchromeが飛んで張り付いたり、普通にネットみてるだけでもヤバい状況。

じゃあMacを買い換えようということで考えると、結局ほとんど外に持ってあるかなったことを考えるとiMacの27インチにSSDをつけてメモリは自分で増設ってのがベストっぽいのだけど。

でもここでどうしても買うのに踏み切れない理由がCUDA。nVidiaとその昔喧嘩したらしいAppleはGeforceを絶対載せないし、これからも載せそうにない。
今更スマホ開発なんかやってもAPIに合わせて実装するだけの仕様に正確なら動くに決まってる土方仕事ばかりで新しいことはないし、今だとやはりDeepLearningがgpuで動かない環境って開発マシンとしてどうなのよ、ってことになる。
Google colabとか使って学習させることはできるけど、それだともうこっちの端末なんてブラウザが動くだけで十分だし、時間制限なく使える自前のマシンで学習できないのは少なくともマシンを買い換える意義がない。

で、色々調べてたらPlaidMLってのがあって、なんでもkerasをmacのRadeonのGPU使って動かすようにできるらしい。
それじゃそれが使い物になるのか確かめてみて、よければそれでとりあえず頑張るってことでiMac買うための動機にしたらどうか、というのでPlaidMLを試してみることにした。これでjupyter notebookから扱えれば十分楽しめるものになるかも?との期待で。

いきなりマシンにインスコすると何がおきるかわかったものじゃないので、すでに入っていたanaconda3に新しく環境を作ってそこで試すことにした。ネットの記事を見てもanacondaかvirtualenvを使ってる記事が上位にひっかかる。
で、anacondaを久々に起動したら、新バージョンがあるよアップデートする?ってなダイアログが出た。
じゃあせっかくだしアップデートするか、としてみた。。。。。これが間違いのもとだった。

新しくはいったanacondaで環境を作ってターミナルを開くと。。。ちゃんと環境に入れない。
慌ててディレクトリをみてみると、~/opt/anaconda3ってとこに入ってる。前のは~/anaconda3。
新旧両方入った状態になってる。なんとかしようと色々いじったけど、以前のanacondaも起動しなくなってて、もとにも戻せずもう何もかもお手上げ状態。何時間も格闘したあげく、そうだタイムマシンがあるじゃないか、と思い出した。使ったことはないから不安だけど。。。。

起動時Cmd+Rでタイムマシンで1日前に戻す。なんでも全部SSDの中身消して入れ替えるらしい。一応マジで困るとこだけはバックアップあるし、怖いけどやるしかない、ということで復元実行。一晩かかった。というか寝て起きてもまだ少し残ってた。

で、復元は成功した。思ったのとちょっと違ったけど。appleIDとか再登録になったり、メールがなんか色々しないと完全に戻らなかったりした。でもまあ大したことなくなんとかなった。
1日前に復元されたmacには前のバージョンのanacondaが入ってる。一応確かめてみると当然ながらちゃんと動作してる。もうアップデートはしないで、そのままPlaidMLのインスコに入る。ネット記事に従うと
pip install plaidml-keras --user
と書いてあるのが多い。で、これに従う。と、そのあとのplaidml-setupが動かない。
なんでや!ってので調べてみたら~/.localってことに入ってる。よくわかんないけど、--userのせいか?
anaconda使ってるのだからこんなことせんでええやん!
~/.localはもともとなかったディレクトリっぽかったので、削除(実際はまずはrename)して、今度は
pip install plaidml-keras
そうすると普通に
~/anaconda3/envs/[環境名]/
の下に入った。よしよし。そこで
plaidml-setup
。。。。エラー。なんかのdylibがないとかそんな感じのexception。少し調べたら同じことを言ってる人がいっぱいいた。

ここでもうさすがに愛想が付きた。これは駄目だ。少なくとも今は駄目だ。もともとCUDAを使えない代替環境で、そこですでに妥協しているのにこの未完成な環境をあてにするのはあまりに無謀。もしなんかの偶然で動くことがあってもそれがずっと続くという感じがぜんぜんしない。

結論としてはPlaidMLは実用には時期尚早。まだまだGoogle colabで頑張るべき。
したがってmacの買い替えは無期延期。iPhoneアプリも更新できないので随時撤退。

PlaidMLは現バージョンは0.6。インスコでここまでてこずるとは、だいぶよくなったという話だったがまだまだという感じ。
もう少しバージョン上がったらまた試してみようと思う。

疲れた。

しかしAppleはCUDAの動かないマシンを高値で売ってることについて危機感はないのだろうか。
動画編集マシンとかスタバでドヤリングマシンとかそんな位置づけだから別にいいのか。
そうか。
タグ:機械学習
posted by みこあいさ at 17:09| 機械学習