M1Mac 머신으로 배우세요.

M1맥을 샀어요.


완전 멋있어.
싸고 빠르고 질기다.
성능이 너무 좋으니 기계를 배워 보세요.
기계 학습이라고는 하지만 추론의 부분도 실행해야 한다.
이 모델은 애플에서 제공하는 CoreML 모델을 사용합니다.
참조 페이지는 이거야.

MovieAnalyzer


github에서 코드 가져오기
xcode 프로젝트 설정에서 아이패드/mac를 적절하게 사용하면 M1Mac를 사용합니다.
구축을 위해서는 모델과 테스트 데이터가 필요하다.
사이트 축소판 그림에서 YOLOv3이라는 모델을 다운로드합니다.
다운로드한 파일을 Models 아래에 놓으세요.
테스트 데이터를 Media 아래에 배치해야 합니다.
자전거 동영상 다운로드(h256 형식)
가져와서 1분 동안 자르고 실행해 봤어요.
Media 아래에 있을 때 자원 복사를 사용하려면 xcode에 설정해야 합니다.

CoreML을 옮겨주세요.


1분 정도면 영상의 물체를 식별할 수 있다.
(애니메이션의 재생 속도가 처리 속도를 동기로 하는 것 같다.더 빠를 수 있다.)
30프레임 영상이라 1분 정도면 1천799프레임이 나온다.
instruments(Profile)에서 봤는데 Neural Engine에서 움직이는 것 같아요.
Neural Engine에서 Core ML 처리 방법 조사

Linux로 같은 YOLOv3 모형을 이동해서 비교해보도록 하겠습니다.


RTX3070으로 이동하는 리눅스 기기가 옆에 있으니 비교해보자.
RTX3070은 최신 CUDA11이어야 하기 때문에 환경 구축이 좀 번거롭다.
PyTorch 버전의 YOLOv3 모델로 애니메이션의 물체 식별을 실행한다.

Docker


그래서 Docker씨가 나왔어요.
# NVIDIAのdockerイメージを持ってくる
docker pull nvcr.io/nvidia/pytorch:20.12-py3
# コンテナ作成
docker run -it --gpus all --name pt-yolo nvcr.io/nvidia/pytorch:20.12-py3

# 以下はコンテナ内で実行
# 必要なライブラリをインスコ
apt update && apt upgrade
apt install -y git
apt install -y gcc
apt install -y libgl1-mesa-dev
apt install -y libopencv-dev
# コードを持ってくる
git clone https://github.com/ultralytics/yolov3.git
cd yolov3
# Pythonライブラリをインスコ
pip install -r requirements.txt
pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

실행


테스트용 애니메이션 파일(test.mp4)을 미리 복사하고 실행합니다.
python detect.py --source ../test.mp4
역시 RTX3070 맞아요.
1799 프레임, 21.06s.

좋은 웹페이지 즐겨찾기