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


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| 機械学習

2019年05月22日

ラズパイの初期設定で大ハマリ

相当しばらくぶりの更新。
スマホは刺激がなくてもう飽きた感じ。
最近は画面の中の世界で終わらないものに興味が移った。

というわけで、いろいろちょこちょこいじってて、やはり基本から積んでいかないとと思い直し、
今更ながらラズパイ。Model3を秋月で買ってセットアップ。
しかし本の通りやったけどこれが大ハマリ。なんとなくそんな気はしてた。

SD Formatterっての落としてきて、そいつでmicroSDフォーマットして、落としてきたNOOBSの中身ほうりこんで
起動でOK。
…てな事書いてある本とか、過去記事とか多いけど。これ、今はだめっぽい。
ちなみにmicroSD3枚、Mac経由Win経由で6回試したけどだめだった。不良かと思って青くなった。
症状としては、powerの赤LEDがついて、一瞬actの緑LEDでチカッとしておしまい。うんともすんとも。
もちろん画面は何も出ない。

まず、その手の文献にあるSD Formatterのオプション「論理アドレス調整」てのがない。mac版もwin版も。その時点で怪しいとは思ったけど。

結論はというと、Raspbian Stretch with Desktopてのを落としてきて、etcherてのでSD焼くってのがいいっぽい。
少なくとも自分はそれでうまくいった。
だから現時点(@2019/5/22)ではその手のキーワードでググって出てくるサイトを参考にするといい。
この先また変わることもありそうだけど。

そもそもD&Dで放り込むのでうまくいくってのが変な感じだったんだよね。だってこれ、動いてるOSのハードディスクのイメージそのものになるわけなんだから、MBRとかどうなってるんだろうとか。それが例の「論理アドレス調整」ってやつだったのか。知るよしもないし、もう意味ないから知らなくてよさそう。

フォーマットはmacでSD Formatter使ったけど、etcherってので丸焼きするみたいなんで
winでFAT32フォーマットすれば十分のような気がする。試してないけど。

起動後はくどくど書いてあるところも多いけど、普通のunix系触ってる人なら別にラズパイだから、ってことは特にない印象。OSとかアプリとか別に最新とかでなくてもこの手の勉強するには問題ないと思う。
ブラウザとか一応動くけど、gitとかモジュールとかのダウンロードには便利かなーってくらい。

本領発揮は、GPIOにセンサとかサーボとか取り付けてからだと思う。
タグ:ラズパイ
posted by みこあいさ at 10:48| ラズパイ

2017年10月13日

[iOS]クリップボードUIPasteboardに貼ったtextをメモに貼り付けられない

iOSのバージョンによるのかもしれない。iOS11。

今更ながらはじめてテキストをクリップボードに貼り付けようとしてググって見つかったやり方。

NSString* myText = @"貼り付けたいテキスト";
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
[pasteboard myText forPasteboardType:@"public.text"];

こんな風に書いてあるところがほとんどなんだけど、これだと「メール」には貼り付けられるのだけど、「メモ」だと謎の添付ファイルになってしまう。

なんで?

クリップボードにコピーする

ここが参考になった。
つまり"public.text"では大雑把すぎるらしい。

"public.utf8-plain-text”

で「メモ」にも貼り付けられるようになった。

"public.plain-text"
でも大丈夫かもしれない。
試してないけど。
posted by みこあいさ at 12:20| iOS開発