頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


Python3をXcodeで

Python3の実行を対話モードでやるのは面倒なので普通にコードはファイルに書きたいと思ったんだけど、、、
さてPythonを書くのに良さそうなエディターはあるんかいな?どんな開発環境あるのかなと調べたりもしたんだけど、使い慣れてるXcodeでもできる、というページを見たのでやってみることにした。

【開発環境】XcodeでPython【画面遷移あり】 - Qiita
Python in Xcode 7 - Stack Overflow

↑このあたりに書いてることが参考になったけど、Python3はpyenvとか使ってインストールしたものでMacに元々入ってたものじゃないので若干Build Toolのパスが違う。
Python3はどこだよ〜?と探してたけど、ターミナルで which python3 とすれば出てくるのね。
ちなみに俺の場合
/Users/macの名前/.pyenv/shims/python3
ってなってた。

Xcodeから実行(いつも通り ⌘+r )すれば、

XcodeでPython3の実行結果1

↑debuggerに結果が表示される!おおお〜!こりゃ楽ちん!
でもこういうのってライブラリのインポートとかすんなり行かねえんだろうな、と思ってんだけど

XcodeでPython3の実行結果2

↑NumPy と Matplotlib はインポートで普通に使えるのは確認できた。


MacにPython3(Anaconda)をインストールしてみる


↑購入した「ゼロから作るDeep Learning Pythonで学ぶディープラーニングの理論と実装」はPython3が前提、ってのは購入前から聞いてた。Macにデフォで入ってるのはPython2なのでどうするかなあとは思ってたんだけど、せっかくなのでPython3のインストールに挑戦することにした。
本に記述されてるようにAnacondaなるものをインストールすれば必要なライブラリも入ってるってことでAnacondaをインストールすることに。この記事はその手順のメモ。
Mac の OS はまだ 10.11.6 El Capitan ね。


本にはインストールの方法についての記述はないので、「Mac Anaconda インストール」とかで検索していろんなページを見たよ。
Pythonの環境構築 on Mac ( pyenv, virtualenv, anaconda, ipython notebook ) - Qiita
HomebrewのインストールからpyenvでPythonのAnaconda環境構築までメモ - Qiita
↑例えばこれらページなど。

多くのページに書いてるようにまずはHomebrewをインストールすることにした。
ターミナルで
brew —version
として出てこないので使っているMacにはインストールされていないのを確認。

Homebrew — macOS 用パッケージマネージャー

↑公式サイトの通りにインストール。同様にバージョンを確認すると、
Homebrew 1.1.2
Homebrew/homebrew-core (git revision 6e96; last commit 2016-12-07)
と出た。



次にPythonのバージョン管理をしてくれるpyenvなるものをインストールする。
pyenvのパスを通す時にbashかそうでないかで手順が変わるっぽい。
ところでbashって何?
どうもMacのシェルの種類らしい。通常Macのシェルはbashというものらしい。ターミナルで確認してみた。
echo $SHELL とすると
/bin/bash ←と出たのでやっぱりbashらしい。
ってことで
まずはpyenvをインストール。ターミナルで
brew install pyenv
とする。
echo 'export PYENV_ROOT="${HOME}/.pyenv"' >> ~/.bash_profile
とすると最初どこにあるねん?!と思ってた .bash_profile ってファイルが新たにできた。さらに
echo 'export PATH="${PYENV_ROOT}/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
としといた。
あるページには
exec $SHELL -l
とあったけど意味不明なのでしてない。

MacにAnacondaでPythonの開発環境を構築してみる
↑ここにあるように
source ~/.bash_profile
をしといた。実行するらしい(Linux | source コマンドは何をしているのか > 環境をリロードするためのものではない - Qiita)。


次はいよいよAnaconda。
pyenv install -l で最新のバージョンを見てみる。

anacondaの最新バージョン

↑どうやら anaconda3-4.1.1 が現時点での最新っぽい。

よって
pyenv install anaconda3-4.1.1 
とすると4分ほどで完了!バージョンを確認すると、、、
python --version
Python 2.7.10

ありゃ?前のままじゃねえか?
ってことでさらに
pyenv global anaconda3-4.1.1 
とする。デフォはこれ、ってことらしい。すると
python --version
Python 3.5.2 :: Anaconda 4.1.1 (x86_64)

↑3.5.2になった!

早速試してみる。ターミナルで
python
で対話モードに突入。いろいろ本にある計算などを試してみる。

Python3の実行

うん、いけてそう。
それはいいけど、終わり方が不明、、、当たり前すぎるのは解説してるページを見つけられない。
control + zで終わって次にpythonを起動していくとアクティビティモニターにプロセス名が複数見えた。うーん、これってよろしくないよね?
面倒だけど pgrep - f python でkill -9 PID しないといけないのか、、、と思ってたら本にMacの場合は
control + d
で終わるべしと書いてた。確かにこれでアクティビティモニターでの表示が消えたわ!


テレビ台(1) 木工用ボンドは役に立つ

DIY第4弾。今回はテレビ台を作ってみることに。こたつだったのがDIY第2弾でテーブル+椅子生活になったのでテレビももう少し上にしたいよねってことで計画。

現在のテレビ台

↑現状こんな感じのテレビ台を使ってる。ちなみにテレビの向かって右にある白いハンガーラックは第3弾で自作したモノ(ブログには何も書いてなかったけど)。
このテレビ台を、、、

Blenderでテレビ台スケッチ

↑イメージではこんなのにしようかと。いつも通りBlenderで検討。

天板はクローゼットの仕切りみたいなのがあったのでこれをそのまま利用。結構平らな板ってお高いのでこれでだいぶコストダウンになったはず。

SPF材

↑近所のホームセンターでSPF材を購入(全部じゃないけど)。

木工用ボンド

↑今回の新しいことと言えば、スリムネジで木と木を固定する前に木工用ボンドで接着、その後にスリムネジで固定するようにしたこと。
というのもいつも特に最初なんかは固定する位置がずれたりしちゃうんだよね。木材を押さえながらドリルを扱うってこれがなかなか難しいし。
そんなわけで今回は時間はかかるけどボンドで仮固定、乾燥後にドリルで固定、というようにした。
それから、たかだか(?)3.3 x 45mmのスリムネジのためにφ2のドリルで下穴をいちいちあけたよ。面倒だけど、下穴があれば片手でドリルを扱っても(押さえつける力が弱くても)なんとかいけるってことで。

テレビ台完成

↑SPF材を組み立てたのに元からあった板を乗せた様子。
今回は問題なく組み上がったぜ、、、とこの時は思ってたんだが実際はそれなりに歪んでた。
自分のスキルがアップしたと勘違いしたからか(?)俺は調子に乗ってモノを置くところをただの平面じゃなくて引出しにしたらカッコいいんじゃない?とか思ってさ。
塗装を別にすればあとは板を置くだけって段階で「引出し作ろう!」と変更することにしちゃったのよ。

(続く)


TensorFlowでMNISTのサンプルをやってみた

今頃になってふとTensorFlowに挑戦してみようかと思ったんだよね。
Pythonの読み方もわからないレベルの俺が見よう見まねでやってみた時のメモです。
先に書いとくと macのOSはまだ10.11.6 El Capitan 。

ディープラーニングの有名ライブラリ5種を最短距離で試す半日コース(TensorFlow, Chainer, Caffe, DeepDream, 画風変換) - Over&Out その後
↑基本この通りにやっていったけど、MNISTのサンプルのがどうもうまくいかない。

結論から言うと、、、
Download and Setup
↑本家のページ(最初から見とけやって話だよね)にあるmacでpython 2.7のCPU版の方だと動いた。GPU版の方は他にも設定が必要なのかダメだった。

TypeError: run() got an unexpected keyword argument 'argv' · Issue #5643 · tensorflow/tensorflow · GitHub
↑このあたりにあるようにTensorFlowとMNISTのバージョンを合わせる必要があるみたい(俺がダウンロードしたのはどちらも0.11)。


TensorBoardを実行した後に止めるのに苦労したのでメモ。
ターミナルで control + z で止める。
さらにプロセス止めるのに
pgrep -f tensorboard
とすると出てくる数字をnとすると
kill -9 n
とすると強制終了(オプション9)となるらしい(けど9がなくても同じようにプロセス終了になってるように見えるんだけどよくわからん?)

TensorBoardのSafariでの結果

↑あと、TensorBoardの結果を見る時にグラフが見えるらしいところが真っ黒。ブラウザはSafari。

TensorBoardのChromeでの結果

↑でもChromeにしたらちゃんと表示された。ブラウザを選ぶみたい?



そんなこんなでとりあえずウチのmacでも動くのを確認したのでもうちょっと勉強してみようかな、と思い下の書籍を注文してみた。



  TopPage  



Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad