regressor
train_regressor
함수 이름: train_regressor
입력:
datacfg: char 형식의 데이터 파일 경로
cfgfile: char 형식의 네트워크 설정 파일 경로
weightfile: char 형식의 미리 학습된 가중치 파일 경로
gpus: int 배열 형식의 GPU 번호
ngpus: int 형식의 GPU 개수
clear: int 형식의 클리어 여부
동작:
주어진 데이터 파일, 네트워크 설정 파일, 미리 학습된 가중치 파일, GPU 번호 및 개수를 사용하여 회귀 모델을 학습시킵니다.
이 함수는 YOLO 알고리즘을 사용하여 학습을 수행합니다.
학습 중에는 네트워크의 학습률, 모멘텀, 감쇠 및 데이터 경로 등의 정보가 표시됩니다.
입력을 설명할 때:
char 형식의 데이터 파일 경로: 학습에 사용될 데이터 파일의 경로
char 형식의 네트워크 설정 파일 경로: 네트워크 설정 파일의 경로
char 형식의 미리 학습된 가중치 파일 경로: 미리 학습된 가중치 파일의 경로
int 배열 형식의 GPU 번호: 사용할 GPU의 번호
int 형식의 GPU 개수: 사용할 GPU의 개수
int 형식의 클리어 여부: 1이면 이전의 학습 결과를 지우고 새로운 학습을 시작합니다. 0이면 이전의 학습 결과를 유지하고 새로운 학습을 시작합니다.
predict_regressor
함수 이름: predict_regressor
입력:
cfgfile: 신경망 구성 파일 경로를 가리키는 문자열 포인터
weightfile: 학습된 가중치 파일 경로를 가리키는 문자열 포인터
filename: 입력 이미지 파일 경로를 가리키는 문자열 포인터 (선택적)
동작:
이 함수는 cfgfile과 weightfile을 사용하여 학습된 회귀 신경망을 로드합니다.
사용자가 이미지 파일 경로를 입력하거나 파일 이름이 이미 함수 호출 시 제공되었다면, 함수는 해당 이미지를 로드하고 신경망을 통해 예측을 수행합니다. 예측 결과는 콘솔에 출력됩니다.
설명:
이 함수는 Darknet 라이브러리를 사용하여 작성된 함수입니다.
이 함수는 회귀 문제를 푸는 데 사용되는 신경망 모델을 로드하고, 이미지 파일 경로를 입력받아 해당 이미지를 예측합니다.
이 함수는 이미지 파일 경로를 입력으로 받을 수도 있고, 함수를 호출하는 시점에서 이미 파일 이름이 제공된 경우에는 파일 이름을 인자로 전달할 수 있습니다.
이 함수는 입력 이미지를 로드하고, letterbox_image 함수를 사용하여 이미지를 모델에 맞는 크기로 변환한 다음, 네트워크를 통해 예측을 수행합니다.
마지막으로, 예측 결과를 콘솔에 출력합니다.
demo_regressor
함수 이름: demo_regressor
입력:
datacfg: char 형식의 데이터 파일 경로
cfgfile: char 형식의 네트워크 구성 파일 경로
weightfile: char 형식의 가중치 파일 경로
cam_index: int 형식의 카메라 인덱스 (0 이상)
filename: char 형식의 동영상 파일 경로 또는 NULL
동작:
OpenCV 라이브러리를 사용하여 카메라 또는 동영상에서 입력 이미지를 받아와서,
받아온 이미지를 네트워크 입력 크기에 맞게 중앙을 기준으로 자르고 그레이스케일로 변환하여,
네트워크를 사용하여 이미지를 예측하고 결과를 출력하며,
예측 속도를 계산하여 화면에 출력한다.
설명:
입력된 파일 경로로부터 데이터, 구성 및 가중치 파일을 읽어서 네트워크를 생성한다.
카메라 인덱스가 0보다 큰 경우는 해당 인덱스의 카메라로부터 이미지를 가져오고, filename 인자가 NULL이 아닌 경우는 해당 파일로부터 이미지를 가져온다.
받아온 이미지를 중앙을 기준으로 자르고 그레이스케일로 변환한다.
네트워크를 사용하여 이미지를 예측하고, 결과를 출력한다.
결과는 클래스 레이블과 해당 클래스에 대한 예측 값으로 이루어져 있다.
예측 속도를 계산하여 화면에 출력한다.
run_regressor
함수 이름: run_regressor
입력:
int argc: 프로그램 실행 시 전달된 인자의 개수
char **argv: 프로그램 실행 시 전달된 인자들의 배열
동작:
입력으로 받은 인자들을 기반으로, regressor를 테스트, 훈련, 데모 실행하는 함수
인자로 "test"가 전달된 경우 predict_regressor() 함수를 실행하여 regressor 모델을 테스트
인자로 "train"이 전달된 경우 train_regressor() 함수를 실행하여 regressor 모델을 훈련
인자로 "demo"가 전달된 경우 demo_regressor() 함수를 실행하여 regressor 모델의 데모 실행
"-gpus" 인자를 통해 GPU ID를 설정할 수 있으며, 쉼표로 구분된 문자열 형태로 전달
"-c" 인자를 통해 카메라 장치의 인덱스를 설정할 수 있음
"-clear" 인자를 전달하면, 훈련 시 이전에 저장된 모든 기록 삭제
인자로 전달된 데이터 파일, 설정 파일, 가중치 파일, 파일 이름 등을 적절히 파싱하여 사용
설명:
run_regressor() 함수는 Darknet 프레임워크의 regressor 모델을 테스트, 훈련, 데모 실행하는 함수입니다.
입력으로 받은 인자들을 기반으로, 각각의 동작을 수행합니다.
"-gpus" 인자를 통해 GPU ID를 설정할 수 있으며, 쉼표로 구분된 문자열 형태로 전달할 수 있습니다. 만약 이 인자가 전달되지 않은 경우, 기본적으로 GPU 0번을 사용합니다.
"-c" 인자를 통해 카메라 장치의 인덱스를 설정할 수 있습니다. 이 인자가 전달되지 않은 경우, 기본값 0을 사용합니다.
"-clear" 인자를 전달하면, 훈련 시 이전에 저장된 모든 기록을 삭제합니다.
인자로 전달된 데이터 파일, 설정 파일, 가중치 파일, 파일 이름 등을 적절히 파싱하여 사용합니다. 이 함수는 predict_regressor(), train_regressor(), demo_regressor() 함수를 호출하여 regressor 모델을 테스트, 훈련, 데모 실행합니다.
Last updated
Was this helpful?