IT系バンドマンの日常

備忘録やライフログなど

OSX + pyenv + virtualenv + tensorflow で動作確認テストするまでの手順

はじめに

みなさんおはこんばんにちは(# ゚Д゚)

後輩から質問があったので、DeepLearningによく用いられるライブラリの一つであるtensorflowをセットアップして動作確認するまでの手順をまとめてみたいと思います。

今回は、OSX 10.11.6とPython 2.7.10を利用してセッティングしてみたいと思います。

homebrewのインストール

OSXのパッケージマネージャーであるhomebrewを入れます

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

pyenvの設定

homebrewのインストールが終わったらpyenvをインストール

brew install pyenv

pyenvを利用するために以下の設定を.bash_profileに記述しておきます

export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$(pyenv init -)"

設定の再読み込みをさせます

source ~/.bash_profile

そうするとpyenvコマンドがつかえるようになったと思いますので以下のコマンドでpython2.7.10をインストール

pyenv install 2.7.10

OSX上で使うpythonを、pyenvでインストールした2.7.10に切り替えます

pyenv global 2.7.10

virtualenvのインストール

brew install pyenv-virtualenv

virtualenvを利用するために以下の設定を.bash_profileに記述しておきます

eval "$(pyenv virtualenv-init -)"

設定の再読み込み

source ~/.bash_profile

tensorflowのインストール

virtualenv --system-site-packages ~/tensorflow
source ~/tensorflow/bin/activate
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/tensorflow-0.9.0-py2-none-any.whl
pip install --upgrade $TF_BINARY_URL

ちゃんとインストールできてるか確認

$ python
...
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print(sess.run(a + b))
42
>>>

tensorflowでの作業が終わったら以下のコマンドで仮想環境からでます

deactivate

おわりに

ざざっとやらなきゃいけないことだけを書いてきたので、分からないことがあればじゃんじゃん質問よろしくお願いします

git commit する前の変更を取り消す方法

こんにちは!

プログラムかいてる途中で、自分の頭のなかのロジックが間違ってることに気がついて何もかも消し去りたくなるときありますよね!

そんなときはこれ

git checkout .

ちなみに、Commitしちゃったあとの変更を取り消すにはこれ

git reset --soft HEAD^

--softを--hardにすることで、管理している実際のファイルももとの状態にロールバックされます

$ git reset --hard HEAD^

Anacondaのアップデート方法

みなさんこんにちは! 最近はAnaconda使って科学技術計算のライブラリ入れるのが楽しくてAnacondaばっかり使ってます。ライブラリのアップデートの仕方をφ(..)メモメモ!

conda update --all

この記事を参考にさせて頂きました。ありがとうございますm( )m! minus9d.hatenablog.com

Vimでキーマップを無効化したいとき

すぐ忘れちゃうのでメモ☆彡

たとえばノーマルモードでCtrl+jのキーマップを無効化したいときは下記のようにする。

nnoremap <C-j> <Nop>
  • : 割り当てることで、キーマップを無効化できる

ps 沖縄すごい暑いんだけど、全国的には避暑地として有名らしいですね。それでも暑いお。。。

シェルスクリプトで引数のスラッシュを取り除きたいとき

みなさんこんにちは!最近がっつりシェルスクリプトばっかり書いてる中西です。

みなさんも、引数でもらったパスの末尾についてるスラッシュを取り除きたくなることが人生一度や二度あることかと思います(確信)

今回はこちらのスレッドを参考にさせていただきました

stackoverflow.com

Answer

job_dir=${1%/}

コピペするだけじゃ学びがありませんので解説。

  • ${1} : 第一引数として入力された変数
  • %/ : 文字列の末尾に/(スラッシュ)がHITする場合、スラッシュを除外した文字列を返す

というわけで無事スラッシュが取り除けたのでした(´ω`)

grepの便利な使い方まとめ

こんにちは!!!!

急にgrepコマンドが大好きになってしまったので便利な使い方を以下にまとめておきたいと思います。

恋は突然に。ってね☆彡

01_HITした場所の行数を知りたい

grep -n 'hoge' foo.txt

02_検索結果を絞り込みたい

grep -n 'hoge' foo.txt  | grep -v 'wei'

03_HITした場所の次の1行も結果として出したい

grep -A 1 'hoge' foo.txt

04_HITした場所の前の1行も結果として出したい

grep -B 1 'hoge' foo.txt

05_Perl正規表現でHITした場所だけをとってくる

echo "weihogewei" | grep -oP 'h(o|a)ge'

それではみなさま、良いgrepライフを!