본문 바로가기

반응형

머신러닝

(11)
Object Detection / YOLOv3 : train_detector - 3 2019/07/31 - [머신러닝/YOLO] - Object Detection / YOLOv3 : train_detector - 2 Object Detection / YOLOv3 : train_detector - 2 2019/07/31 - [머신러닝/YOLO] - Object Detection / YOLOv3 : train_detector - 1 Object Detection / YOLOv3 : train_detector - 1 ./darknet detector train cfg/voc.data cfg/yolov3-voc.cfg darknet53.conv.7.. jainkku.tistory.com darknet convolution은 caffe convolution과 같다. * im2col 반복문을 여러..
Object Detection / YOLOv3 : train_detector - 2 2019/07/31 - [머신러닝/YOLO] - Object Detection / YOLOv3 : train_detector - 1 Object Detection / YOLOv3 : train_detector - 1 ./darknet detector train cfg/voc.data cfg/yolov3-voc.cfg darknet53.conv.74 (-flags) 위의 명령어를 darknet.c/main의 input 값으로 사용했다. datacfg 는 "cfg/voc.data", cfgfile 는 "cfg/yolov3-voc.cfg",.. jainkku.tistory.com 이어지는 내용입니다! n = n->next; n은 [net]다음인 [convolutional] 정보를 나타낸다. fprintf로 출..
Object Detection / YOLOv3 : train_detector - 1 ./darknet detector train cfg/voc.data cfg/yolov3-voc.cfg darknet53.conv.74 (-flags) 위의 명령어를 darknet.c/main의 input 값으로 사용했다. datacfg 는 "cfg/voc.data", cfgfile 는 "cfg/yolov3-voc.cfg", weightfile 는 "darknet53.conv.74", 그 외의 flag값들 또한 train_detector의 인자로 전달된다. (https://github.com/AlexeyAB/darknet 참고) int *gpus 가 가리키는 값은 0 int ngpus가 가리키는 값은 1 int clear, dont_show, calc_map, show_imgs 모두 설정하지 않았으므로 0..
Object Detection / YOLOv3 : test_detector parameter net : yolo.cfg file의 정보가 담겨있다. im.w : 768 im.h : 576 thresh : 2105608384 hier_thresh : 2105608384 nboxes : 0 letter_box : 0 net->n - 1 = 106 106번째 layer는 마지막 yolo layer다. nboxes 에는 10647 값이 들어온다. 총 3개의 yolo layer 마다 yolo_num_detections 값을 더해준다. w*h만큼 for문 돌면서 (13, 26, 52) yolo layer의 n 만큼 for문을 돈다. n : 3이다, n은 한 그리드가 가질 수 있는 최대 box 개수? 한그리드 씩 3번의 for문을 돌아서 thresh 값을 넘으면 count++ l : yol..
Application & Tips 크게 Learning rate, data preprocession, overfitting을 방지하는 법이 있다. Learning rate (α) 만약에 α를 큰 값으로 정의한다면 step이 커져서 cost가 발산하게된다. 이 현상을 overshooting 현상이 일어난다. 반대로 α를 작은 값으로 정의하면 조금씩 줄어들다가 어느 시점에 시간이 다되서 stop하면 최저점이 아닌데도 멈출 수 있다. 전반적으로는 learning rate을 다루는데는 답은 없다. 0.01 정도로 시작해보고 α값이 발산한다면 줄이고 α값이 늦게 움직인다면 값을 키운다. Data Preprocessing feature data인 X를 전처리 해야하는 경우가 많다. 데이터 값에 큰 차이가 있는 경우 normalize 해야한다. 보통..
axis란?
텐서란 무엇인가? 텐서는 rank 0부터 n 까지 존재한다. scalar value는 number를 하나만 가지고있다. scalar를 여러개 가지면 vector가 되고, vector를 여러개 가지면 matrix가 되고, matrix를 여러개 가지면 3d tensor가 된다. CNN에 흐르는 데이터는 4d tensor이다 (B, C, H, W) B : 배치 개수 C : Channel 개수 H : Height W : width 참고 https://www.youtube.com/watch?v=m0qwxNA7IzI
softmax classification 여러개의 클래스가 있을때 그것을 예측하는 Multinomial classification 중 가장 많이 쓰이는 softmax classification에 대해 알아보자. softmax classification n 개의 y^ 값을 0 ~ 1 사이의 값으로 바꾸고 각각의 합이 1이되도록 만들어준다. 그다음 ONE-HOT ENCODING을 이용해 max 값을 1.0으로 나머지는0.0으로 세팅해준다. 이렇게 예측 모델은 완성되어지고, 다음으로는 cost function으로 예측이 잘 되었는지 본다. cost function으로 예측값과 실제값의 차이를 최소화함으로써 학습을 완성한다. -> Cross-entropy cost function을 사용한다. 지난 장의 logistic cost와 cross entrop..

반응형