Roboflow Python 패키지: 버전 생성 및 모델 교육

Roboflow 웹 애플리케이션에서와 같이 데이터 세트 버전을 생성하고 내보내고 모델을 교육하는 방법.

Written by Mohamed Traore

Last published at: January 5th, 2023

개요


Roboflow 웹 애플리케이션 을 사용하면 더 나은 컴퓨터 비전 모델을 더 빠르게 구축 할 수 있습니다.

사용 가능한 기능에는 프로젝트 생성, 데이터 세트 업로드, 워크플로 관리 레이블 지정, 데이터 세트 내보내기, 모델 교육, 모델 테스트모델 배포 가 포함됩니다. Roboflow Python 패키지 는 이러한 작업을 수행할 수 있는 기능도 제공합니다.

이는 MLOps(기계 학습 작업) 파이프라인을 보다 "코드 중심"으로 만들거나 웹 기반 애플리케이션으로 이동할 필요 없이 Roboflow 와 간단히 상호 작용하려는 사용자에게 유용 합니다 .

이 문서는 Roboflow Python 패키지를 사용한 데이터 세트 생성, 데이터 세트 내보내기 및 모델 교육에 중점을 둡니다.

비디오 개요

생성, 내보내기 및 모델 교육을 위한 전체 비디오 자습서입니다.

Roboflow Python 패키지를 사용하여 데이터 세트 버전 생성 및 모델 학습( YouTube )


버전 생성

project.generate_version(설정={})


https://docs.roboflow.com/ python /platform-actions#generate

예시:

generation_settings = {"전처리": {
"자동방향": 진실, "크기조정": {"너비": 640, "키": 640, "체재": "뻗기 에게"},
}, "증가": 
{"튀기다": {"수평의": 진실, "세로": 거짓}
}}

project.generate_version(설정=generation_settings)


내보내기 버전


https://docs.roboflow.com/ python /platform-actions#export-and-download


데이터세트를 지정된 내보내기 형식으로 압축합니다.

예시:

버전.다운로드(model_format="yolov5")


python 코드가 실행되는 위치에 데이터 세트를 다운로드합니다.

예시:

버전.다운로드(model_format="yolov5", 위치="/다운로드")


사용 가능한 내보내기 형식은 프로젝트 유형(예: 개체 감지, 단일 레이블 분류, 다중 레이블 분류, 인스턴스 분할 및 의미 체계 분할)에 따라 결정됩니다.


유효한 형식:

개체 감지 다운로드 및 내보내기 형식

"개체감지": [
"클립",
"머리",
"만들기",
"다크넷",
"다중클래스",
"텐서플로우",
"tfrecord",
"음성",
"요로케라스",
"yolov4pytorch",
"yolov4scaled",
"yolov5-obb",
"yolov5pytorch",
"yolov7pytorch",
"mt-yolov6",
"레티나넷",
"벤치마커"
]

단일 레이블 분류 다운로드 및 내보내기 형식

"분류": ["폴더", "클립"]

다중 레이블 분류 다운로드 및 내보내기 형식

"다중레이블분류": ["다중클래스", "폴더", "클립"]

인스턴스 세분화 다운로드 및 내보내기 형식

"인스턴스세분화": [ 
"코코분할",
"클립",
"머리",
"만들기",
"다크넷",
"다중클래스",
"텐서플로우",
"tfrecord",
"음성",
"요로케라스",
"yolov4pytorch",
"yolov4scaled",
"yolov5-obb",
"yolov5pytorch",
"yolov7pytorch",
"mt-yolov6",
"레티나넷",
"벤치마커"
]

Semantic Segmentation 다운로드 및 형식

"의미분할": ["코코분할", "png-마스크-시맨틱"]


기차 모델

프로젝트 수준 및 버전 수준에서 모델을 학습시킵니다.


프로젝트 ID, 모델 ID 및 버전 번호 찾기:

내 얼굴 감지 데이터 세트의 경우 프로젝트에 액세스하기 위해 나와 내 작업 공간의 다른 구성원이 사용할 수 있는 링크는 https://app.roboflow.com/mohamed-traore-2ekkp/face-detection-mik1i/ 입니다.

  • 참고: 이것은 공개(커뮤니티) 작업 공간의 데이터 세트이므로 Roboflow Universe 에서 공개적으로 볼 수 있습니다. Roboflow Universe 액세스 링크는 https://universe.roboflow.com/mohamed-traore-2ekkp/face-detection-mik1i/ 입니다. 이 링크에서 데이터 세트에 액세스하면 레이블이 지정되고 데이터 세트에 추가된 이미지를 보거나 복제하거나 다운로드할 수 있는 기능만 제공됩니다. Roboflow Train으로 학습된 버전이 하나 이상 있으므로 모델을 배포할 수도 있습니다.


프로젝트 수준 교육

프로젝트 수준 에서 교육하면 새 버전이 생성되고 Roboflow Train 을 통해 교육됩니다.


처음부터 학습 - 개체 감지, "빠른" 모델

##씨 설치하다 로보플로우

~에서 로보플로우 수입 Roboflow
RF = Roboflow(api_key="INSERT_YOUR_PRIVATE_API_KEY")
프로젝트 = rf.workspace("모하메드-트라오레-2ekkp").project("얼굴감지-mik1i")

## 생성하다 ㅏ 버전 ~와함께 전처리 그리고 증가 설정, 그리고 기차
## 그것 ~에서 할퀴다
generation_settings = {"전처리": { "자동방향": 진실, "크기조정": {"너비": 640, "키": 640, "체재": "뻗기 에게"}, }, "증가": {"튀기다": {"수평의": 진실, "세로": 거짓}}}

프로젝트.트레인(설정=generation_settings, 속도="빠르다")


이전 체크포인트에서 학습 - 물체 감지, "빠른" 모델

##씨 설치하다 로보플로우

~에서 로보플로우 수입 Roboflow
RF = Roboflow(api_key="INSERT_YOUR_PRIVATE_API_KEY")
프로젝트 = rf.workspace("모하메드-트라오레-2ekkp").project("얼굴감지-mik1i")

## 생성하다 ㅏ 버전 ~와함께 전처리 그리고 증가 설정, 그리고 기차
## 그것 ~와함께 그만큼 "빠른" 모델, ~에서 그만큼 버전 15 검문소
generation_settings = {"전처리": { "자동방향": 진실, "크기조정": {"너비": 640, "키": 640, "체재": "뻗기 에게"}, }, "증가": {"튀기다": {"수평의": 진실, "세로": 거짓}}}

프로젝트.트레인(설정=generation_settings, 속도="빠르다", checkpoint="mohamed-traore-2ekkp/얼굴검출-mik1i/15")


버전 수준 에서 교육

버전 수준에서 훈련하면 지정된 버전이 Roboflow Train으로 훈련됩니다.


처음부터 학습 - 개체 감지, "정확한" 모델

##씨 설치하다 로보플로우
~에서 로보플로우 수입 Roboflow

RF = Roboflow(api_key="INSERT_YOUR_PRIVATE_API_KEY")
프로젝트 = rf.workspace("모하메드-트라오레-2ekkp").project("얼굴감지-mik1i")
버전 = 프로젝트.버전(16) #이것 ~이다 한 훈련받지않은 프로젝트 버전

## 기차 그만큼 "빠른" 모델, ~에서 그만큼 버전 15 검문소
version.train(속도="빠름")


이전 체크포인트에서 학습 - 개체 감지, "정확한" 모델

##씨 설치하다 로보플로우
~에서 로보플로우 수입 Roboflow

RF = Roboflow(api_key="INSERT_YOUR_PRIVATE_API_KEY")
프로젝트 = rf.workspace("모하메드-트라오레-2ekkp").project("얼굴감지-mik1i")
버전 = 프로젝트.버전(16) #이것 ~이다 한 훈련받지않은 프로젝트 버전

##버전 15 였다 이전에 훈련된 ~와함께 그만큼 "빠른" 모델
version.train(속도="빠름", checkpoint="mohamed-traore-2ekkp/얼굴검출-mik1i/15")


참고로 버전 생성 설정을 지정하거나 지정하지 않도록 선택할 수 있습니다. 모범 사례를 위해 체크포인트에서 훈련하거나 새 버전을 생성할 때 버전 생성 설정을 지정하십시오.

다음 단계

  1. 교육 중 교육 그래프 모니터링: https://docs.roboflow.com/train/monitoring-your-training-job
  2. 교육 결과를 해석하는 방법 알아보기: Roboflow Train: 교육 그래프 이해
  3. 배포 탭으로 모델 테스트
  4. 능동 학습으로 모델 개선: 능동 학습 이란 무엇입니까?