日々適当
hibitekitou

macOS Mojave その2

mac |2018-10-07
MacBook Pro 2018に乗り換える時に、/usr/localとかにファイルが作られていたHomebrewのファイルたちが正常に動作しなくなっていました。これはMojaveにする前からそうだったのだろうと思うのだけど、Homebrewを入れ直しました。

Homebrewの再インストール[macOS] [一馬力のメモ帳]

こちらを参考にHomebrewをアンインストールして再インストールします。
アンインストールはアンインストールのコマンドをはしらせるだけ。
それで、Homebrewの公式ページのワンライナーのインストールスクリプトを実行してインストールするのですが、インストール後、brew doctor を実行すると "Broken symlinks were found. Remove them with `brew prune`:"ってメッセージの後に該当ファイルがずらずら羅列されました。
この状況はHomebrewをアンインストールする前からそうで、解決策として brew prune を実行しろとなっているからそれを実行しても解消されなかったのです。それがアンインストールしてのインストール後は無事にbrew pruneの処理が動いたようで、brew doctorを実行しての警告が出なくなりました。



ということで、Python環境を構築します。

とりあえず、brew install tcl-tk でTcl/Tkを入れておきました。
使えるようにするにはこれだけではダメで、パスを渡してやらないといけないようです。
echo 'export PATH="/usr/local/opt/tcl-tk/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
参考 Macintoshでtcl/tk そのままでも動くのに罠5つに嵌った[Qiita]

んでせっかくなのでpyenvからインストールしていくわけですが、それは

MacOSとHomebrewとpyenvで快適python環境を。 [Qiita]

を参考に進めました(pyenvの環境構築まで。それを利用したPythonのインストールは別場所参考に)。

3.6系のインストールは、 "BUILD FAILED (OS X 10.14 using python-build 20180424)"ってエラーでpyenvの簡単なコマンドでは入りませんでした。
それについては

[MacOS Mojave]pyenvでpythonのインストールがzlibエラーで失敗した時の対応 [Qiita]

こちらに書かれている「解決策」って部分を実行することで解決。コマンド pyenv install 3.6.6 で入るようになるようです。xcode-selectの現行バージョンにMojave用のmacOS SDK headerが入っていないのが原因とかなんとか。
引き続き pyenv install 2.7.15 でそのバージョンのPythonも入れました。


以上が終わったところで、pyenvのまとめ。
3.6.6ってなっているところは必要なバージョンで読み換える。

pyenv install -l:インストール可能なPythonインタープリタの一覧
pyenv versions:インストールしてあるPythonのリスト
pyenv global 3.6.6:デフォルトのPythonの指定。3.6.6が入っているのでそう指定している。
pyenv uninstall 3.6.6:3.6.6をアンインストール。



ってことでうちで去年試した 単一露光画像からのHDR画像生成ってのを試してみたってのを再び環境構築してみます。
いくつかのコマンドのうち pip3 install openexr だけうまく走りませんでした。ImathBox.hが無いって怒られます。なので、 brew install openexr の実行でHomebrewで入れてみてから pip3 install openexr を実行したら通りました。
virtualenv -p python3 tensorflow でtensorflowって名前の仮想環境が、コマンドを実行した階層に出来上がろ。その環境に移行するコマンドは source tensorflow/bin/activate。その環境から抜けるには deactivate。デスクトップで作業をしていたら、tensorflowって仮想環境はデスクトップ上にできるtensorflowフォルダの中ということになりますな。

んで、とりあえず動作した模様。

ちなみにこの処理は画像をロードする時と推測の処理をしている時にメモリをどか食いします。6016px x 4000px画像を処理する際、のアクティビティモニタでの表示でpython3のメモリ使用量が64GB超えました。



こんなメモリ状況は自分の環境では初めて見たかも。ちなみに、iPhone Xで撮った画像(カレントディレクトリ内のIMG_9094.jpeg)を処理するときのコマンドは
python hdrcnn-master/hdrcnn_predict.py --params hdrcnn-master/hdrcnn_params.npz --im_dir IMG_9094.jpeg --width 4032 --height 3024


そういえば去年Mac Pro上に環境構築してThetaで撮った画像を処理しようとした時、オリジナルのサイズだと処理しきれなかったんですが、今回のMacBook Pro 2018上ではできたんですよね。去年はHigh Sierra インストール前後にやったと思うので、OSはHigh SierraかSierraなんだけど、メモリ搭載量は今のMacBook Proと同じ32GBだったはず。それでも機械の差ってのはあるだろうけど、あるいはMojaveでメモリ管理がより賢くなったってのはあったりするのだろうか。
コメント ( 0 )|Trackback ( 0 )
 
コメント
 
コメントはありません。
コメントを投稿する
ブログ作成者から承認されるまでコメントは反映されません
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。
数字4桁を入力し、投稿ボタンを押してください。