け い ざ ん の D I Y 工 房

◆Home
◆住まいの D I Y
◆パソコン D I Y
◆ROBOT D I Y
◆電子工作 D I Y
◆Science

●Mac Bookで 教師dataの学習

 2022.06.19

【Mac Bookに 学習環境の構築】
 miniforgeを installした Mac Bookに object detection APIを Downloadして
 教師dataの学習環境を作ります。

 (base)$ conda activate py38
 (py38)$ cd /Users/「ユーザー名」/miniforge3/envs/py38
 (py38)$ sudo git clone https://github.com/tensorflow/models
 (py38)$ ls -l

 PYTHONPATH の設定
 .zshrcに下記のPATHを書いておきます。
 (py38)$ cd /Users/「ユーザー名」
 (py38)$ sudo nano .zshrc
 (py38) export PATH="opt/homebrew/bin:/usr/sbin:/usr/bin:/bin:$PATH"
 (py38) export PYTHONPATH= /Users/「ユーザー名」 /miniforge3/envs/py38/models/research: /Users/「ユーザー名」 /miniforge3/envs/py38/models/research/slim:$PYTHONPATH


【protobuf install】
 Protocol Buffers の installから始めます。
 (py38)$ sudo apt-get update
 (py38)$ sudo apt-get upgrade
 (py38)$ sudo apt-get install snapd
 (py38)$ sudo reboot
 (py38)$ sudo snap install core
 (py38)$ sudo snap install protobuf --classic

 Protocol Buffersの proto fileセットアップ
 (py38)$ cd ?/models/research/object_detection
 (py38)$ protoc protos/*.proto --python_out= .
 (py38)$

 次に必要なライブラリを installします。
 (py38)$ cd ?/models/research
 (py38)$ cp object_detection/packages/tf2/setup.py .
 (py38)$ python -m pip install .

 Object Detection APIの Test
 (py38)$ cd ?/models/research
 (py38)$ python object_detection/builedrs/model_builder_tf2_test.py
 (py38)$

 Object_detection_APIの testを実行して OK (skipped=1) が出れば成功です。


【Mac側 SSHの設定】
 Windowsから M1 Macに接続するために SSHの設定をします。
 $ cd /etc/ssh
 $ sudo nano sshd_config
 port 22
 AddressFamily   any
 #ListenAddress   0.0.0.0
 PasswordAuthentication   yes
 ctl+Oで書き込み ctl+Xで終了


【学習data転送  Windows ⇒ Mac Book】
object_detection_toolsの download
 $ cd /Users/「ユーザー名」/miniforge3/envs/py38
 $ conda activate py38
 (py38)$ git clone https://github.com/karaage0703/object_detection_tools

downloadした Folder配下の trainと valに MicroSoft VOTTで作成した
Windows上にある教師dataを scp commandで転送して書き込みます。

ここからは windows側の作業になります。
windowsのシステムツールからコマンドプロンプトを開いて
scp commandで Mac Bookに教師dataを一括転送します。

Windows Command prompt
-----------------------------------------
$ scp D:Work/TFRecords-export/*.tfrecord 「ユーザー名」@192.168.1.21:/Users/「ユーザー名」 /miniforge3/envs/py38/object_detection_tools/data/train/

$ scp D:Work/TFRecords-export/*.tfrecord 「ユーザー名」@192.168.1.21:/Users/「ユーザー名」 /miniforge3/envs/py38/object_detection_tools/data/val/

$ scp D:Work/TFRecords-export/tf_label_map.pbtxt 「ユーザー名」@192.168.1.21:/Users/「ユーザー名」 /miniforge3/envs/py38/object_detection_tools/data/

Enterを keyinすると Mac Bookの passwordを聞かれますので
keyinすると転送が始まります。


【教師data 学習】
 Mac Book Airで 教師data 学習: 120枚の教師dataを学習させる。
(py38)$ cd /Users/「ユーザー名」/miniforge3/envs/py38/models/research/
(py38)$ python object_detection/model_main_tf2.py
--pipeline_config_path= "./object_detection_tools/config/efficientdet_d0_coco17_tpu-32.config"
--model_dir="./saved_model_01"
--num_train_steps=10000
--alsologtostderr


graphs



1枚の画像の学習回数は 10000回と少なめにしたが、
Mac Bookの 8 core CPUでも1時間50分掛かった。
Mac Book Airの本体が熱くなった。100%あった Batteryが 60%まで減った。

作成した教師dataの数値が低下していっているので、学習が進んでいます。


----------------------------------------------------------------------------------------------------------------------------
・けいざん美術館
・Blog 油絵もろもろ
・EXCEL VBAであくせく
・けいざんの食べログ


                 Site Designed by Kasio Keizan