Copyright (C) iPhoneアプリ開発備忘録 All rights reserved.
ブログ内で記したコード、内容の正確性は保証いたしません。
記載内容を実装したことにより発生した不具合・損害等の責任は一切負いません。



2020年02月20日

Turi Create & Pythonで作る機械学習モデルの環境を構築する



Appleの機械学習フレームワークCoreMLで使用する機械学習モデルの作成方法には色々あるが、Appleが買収したTuriのTuri Createを使用するのが比較的簡単である。

macOSにはPythonが既にインストールされているが、バージョンが2.x系である。Turi Createは、Python3.x系が必要なので、Python3.xをインストールする。
Python2.x系とPython3.xを、仮想環境で切り替えて使用する方法と、環境変数の切り替えで使用する方法があるが、ここでは環境変数の切り替えで使用する方法を記述する。


1. 必要なソフトウェア
・Python 3以上 : 機械学習モデルを作るプログラムを実行するプログラム言語
・Home Brew :macOS用パッケージマネージャー
・pyenv:Pythonのバージョン管理ツール
・pip:Pythonのパッケージ管理ツール
・xz:ファイル圧縮ツール(Turi Createがxzを使用するため必要)
・Turi Create:Pythonで実行可能な機械学習モデル作成ツール

以下、引用符で囲まれたコマンド入力は、特にことわりのない限り、ターミナル.appで入力するものである。

2. Homebrew のインストール
2.1 Homebrewが既にインストールされているか確認
which brew
インストールされているパスが表示されていたら、インストール作業は不要。

2.2 Homebrewのインストール
(1) 最新のXcodeがインストールされている場合、Xcode Command Line Tools もインストールされている。


(2) Homebrewの公式サイトの記述に従ってインストールする。
https://brew.sh/index_ja

2.3 Homebrew がインストールされているかを確認する。
brew help
Homebrewのコマンド一覧が表示されていたらOK。

または、
brew doctor
と入力し、
Your system is ready to brew.
と表示されていたらOK。


3. pyenvのインストール
3.1 Homebrewでpyenvをインストールする。
brew install pyenv


3.2 インストール可能なpyenvのバージョンを確認する。
pyenv install --list


3.3 バージョンを指定してpyenvをインストールする。
pyenv install 3.7.6


3.4 バージョンを切り替える。
pyenv global 3.7.6


※ Pythonのバージョン毎の削除は下記コマンドを使用する。
例:
pyenv uninstall 3.8.1

Turi CreateはPythonのバージョンに依存しているため、やみくもにPythonのバージョンを最新にアップデートすると、Turi Createのインストール時に互換がない旨のエラーが表示されるので注意すること。


4. 環境変数の切り替え
4.1 .bash_profileの編集
viを使用して、~/.bash_profile を編集する。
vi ~/.bash_profile


4.2 編集と保存
下記の記述を実施し、:wqコマンドによりファイルを保存してviを終了する。
export PATH="$HOME/.pyenv/shims:$PATH"


4.3 .bash_profile を読み込んで環境変数を切り替える
source ~/.bash_profile



5. Pythonのインストール確認
python --version


which python



6. pipのインストール
6.1 pipが既にインストールされているかを確認
python -m pip -V


下記のように表示されていたら、pipは既にインストールされている
pip 20.0.2 from /Users/.pyenv/versions/3.7.1/lib/python3.7/site-packages/pip (python 3.7)


pipをアップデートする場合は、下記のコマンドを入力する。
pip install --upgrade pip


6.2 pipをインストールする
(1) 下記のサイトから、get-pip.py のソースコードをダウンロードする。
https://bootstrap.pypa.io/get-pip.py

(2) get-pip.pyを実行して、pipをインストールする
python get-pip.py



7. xzのインストール
7.1 xzをインストールする
brew install xz


7.2 xzのインストールを確認
xz --version



8. Turi Createのインストール
8.1 Turi Create の最新バージョンを確認
下記のサイトでTuri Createの最新バージョンを確認する。
https://github.com/apple/turicreate


8.2 Turi Createをインストールする
pip install turicreate==6.1

Turi Createはアプリではなく、Pythonライブラリであるため、turicreate --versionコマンドでバージョンを確認することができないため注意。


9. coremltoolsのインストール
pip install --upgrade coremltools

Turi Createのバージョンとcoremltoolsのバージョンの互換性に注意。coremltoolsインストール時にその旨のメッセージが表示されることがある。

バージョン番号を指定したインストールは下記コマンドを使用する。
pip install coremltools==3.3


10. Python環境下の各ソフトウェアのバージョン番号の確認
pip freeze


11. モデルの内容を可視化するNetronのインストール
pip install netron


12. Netronの実行
netron -b
ローカルホストでブラウザが起動する。Web版のNetronと機能は同じ。
セキュリティ上、Webにモデルをアップロードしたくない場合はローカルで実行すること。


機械学習モデルを作成するPythonプログラムの実行時に、何らかのエラーが表示されている場合は、
実行しているPythonのバージョンが3.xであること、必要なライブラリがインストールされていること、環境変数がmacに設定されていること等を確認すること。
場合によっては、pyenvのアンインストール、インストールからやり直す必要がある。

Turi Createをバージョンアップすると、これまで旧バージョンのTuri Create環境下で正常終了していたPythonプログラムの実行時にエラーとなる場合がある。これはバージョンアップしたTuri CreateでDeprecatedとなった命令があることを示すことがあるので、プログラムを適宜修正する必要がある。


参考記事:
https://qiita.com/okhrn/items/935cf187aec5cf144558
https://www.python-izm.com/tips/pip/
https://leico.github.io/TechnicalNote/Mac/homebrew-pyenv
https://yolo-kiyoshi.com/2019/09/10/post-1215/
https://nontitle.xyz/archives/135
https://qiita.com/xkumiyu/items/68acce640b801e8ecc67


posted by mobileDeveloper at 11:37 | Comment(0) | CoreML はてなブックマーク - Turi Create & Pythonで作る機械学習モデルの環境を構築する | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
Apple、Appleのロゴ、App Store、iPodのロゴ、iTunesは、米国および他国のApple Inc.の登録商標です。
iPhone、iPod touch、iPadはApple Inc.の商標です。
iPhone商標は、アイホン株式会社のライセンスに基づき使用されています。
その他、本ブログに記載されている製品名、会社名は、それぞれ各社の商標または登録商標です。