macでのpython開発環境とtensorflowパッケージ導入

機械学習技術 自然言語技術 人工知能技術 デジタルトランスフォーメーション技術 画像処理技術 強化学習技術 確率的生成モデル 深層学習技術 Python 本ブログのナビ
macでのpython開発環境とtensorflowパッケージ導入

pythonの開発環境としては様々な選択肢がある。全くプログラムを行っていなかったビギナー向けであればanacondaが多数のライブラリがプレインストールされている点や、JupyterやInteriJ等のIDEとの連携の容易さから有力な選択肢の一つにはなる。しかしながらanacondaは上述のように多数の付加ライブラリがプレインストールされている為に大量のメモリ(数GB)が必要であり、また近年(2020年4月より)パッケージレポジトリの使用の有料化(従業員の総数が200人異常の共通支配下にある事業体が対象)の話もあり、仕事の一貫として使う場合は別の選択肢も考えることも必要となる。

pythonのパッケージ管理ツールとしてはpipとcondaがある。conda は Anaconda 社のリポジトリから入れ、pip は PyPI から入れる。anacondaは特定の会社が管理し、pipはPyPI(オープン )で管理している為pipの方がパッケージは大量にあるが実際は併用しているケースが多いのではないかと思う。

anaconda以外の使い方としては、まずpythonをインストールし(最新のmacの場合は3系と2系がプレインストールされている。またhomebrewを使ったり、pythonの公式ページからインストーラーをダウンロードする方法もある)、テキストエディタ(Atom、NotePad++、Emacs、SublimeText等)を使ってコードを書き、pipかcondaを使ってパッケージのインストールをして、ターミナル上で実行「¥python (ファイル名)」がシンプルな使い形になる。REPL的な使い方をするのであれば、Jupyter notebookを使うのも一つの選択肢だ。

最新のMAC(M1シリコン)では、anacondaのパッケージのいくつかが使えず、またpythonのバージョンを上げすぎるとtensorflow等のDNNのパッケージが使えない為、現時点ではデフォルトでインストールされているpython3.8を使うのがベターだ。パッケージ管理として現時点ではminiforge3を使うことが推奨されている。

以下にminiforge3とtensflow等のDNNパッケージの導入手順を示す。まずminiforge3のインストールスクリプトをダウンロードして実行する。

-$ wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh 
-$ bash Miniforge3-MacOSX-arm64.sh

途中で聞かれるものはすべてyesかenterすると導入が完了する。ここで一旦ターミナルを閉じて再度開けると。コマンド入力のトップに(base)が現れる。次にpython38と言う名前の環境を立ち上げ(名前は任意)アクチベートする。

(base)..-$ conda create --name python38 python=3.8
(base)..-$ conda activate python38

ここまでで環境設定は終了し、tensorflow等のパッケージの導入を開始する。まず事前に必要なパッケージをインストールし

(python38)..-$ conda install numpy 
(python38)..-$ conda install six 
(python38)..-$ conda install matplotlib 
(python38)..-$ conda install opencv

以下の手順でtensorflowパッケージをインストールする。

$ wget https://github.com/apple/tensorflow_macos/releases/download/v0.1alpha2/tensorflow_macos-0.1alpha2.tar.gz $ tar xvzf tensorflow_macos-0.1alpha2.tar.gz 
$ env="$HOME/miniforge3/envs/python38" 
$ libs="$PWD/tensorflow_macos/ar m64/" 
$ pip install --upgrade -t "$env/lib/python3.8/site-packages/" --no-dependencies --force "$libs/grpcio-1.33.2-cp38-cp38-macosx_11_0_arm64.whl" 
$ pip install --upgrade -t "$env/lib/python3.8/site-packages/" --no-dependencies --force "$libs/h5py-2.10.0-cp38-cp38-macosx_11_0_arm64.whl" 
$ pip install --upgrade -t "$env/lib/python3.8/site-packages/" --no-dependencies --force "$libs/tensorflow_addons_macos-0.1a2-cp38-cp38-macosx_11_0_arm64.whl" 
$ conda install -c conda-forge -y absl-py 
$ conda install -c conda-forge -y astunparse 
$ conda install -c conda-forge -y gast 
$ conda install -c conda-forge -y opt_einsum 
$ conda install -c conda-forge -y termcolor 
$ conda install -c conda-forge -y typing_extensions 
$ conda install -c conda-forge -y wheel 
$ conda install -c conda-forge -y typeguard 
$ pip install wrapt flatbuffers tensorflow_estimator google_pasta keras_preprocessing protobuf 
$ pip install tensorboard 
$ pip install --upgrade -t "$env/lib/python3.8/site-packages/" --no-dependencies --force "$libs/tensorflow_macos-0.1a2-cp38-cp38-macosx_11_0_arm64.whl"

パッケージがインストールできたかの確認は以下のように行う。

$ python3 
Python 3.8.6 | packaged by conda-forge | (default, Jan 25 2021, 22:55:00) 
[Clang 11.0.1 ] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import tensorflow as tf 
>>> tf.__version__ '2.4.0-rc0'

強化学習などで、TF-Agentsが必要な場合は、以下コマンド実行してインストールする。

-$ conda install bazel 
-$ pip install tf_agents 

PyTorchをインストールする場合はpipを使ってインストールすることができる。

pip install torch 
pip install torchvision 
pip install torchaudio

以上を行うことで、DNNを試すことができるようになる。

それらの実装に関して、kerasに関してはpythonとKerasによるディープラーニング以下で述べており、pytorchに関してはPyTorchによる発展ディープラーニングにて述べている。

コメント

  1. […] このような特徴を活かして、例えばtensflowではTensorBoradによる演算の可視化が行われる。またグラフィカルモデルにおいても、確率の複雑なフローを可視化することで処理を理解しミスが生じないようにすることができる。 […]

  2. […] macでのpython開発環境とtensflowパッケージ導入 […]

  3. […] macでのpython開発環境とtensflowパッケージ導入 […]

  4. […] それらの実装に関しては、環境立ち上げとしてmacでのpython開発環境とtensflowパッケージ導入にて述べている。またkerasに関してはpythonとKerasによるディープラーニング以下で述べており、pytorchに関してはPyTorchによる発展ディープラーニングにて述べている。 […]

タイトルとURLをコピーしました