2020/11 4

YOLO - Colab 이용해서 Custom 학습하기 (3)

파이썬을 이용하는 다른 플랫폼에 적용시키기 darknet에서만 사용하는 것이 아닌 라즈베리파이, 웹사이트, 모바일 등에 적용할 수 있다. 준비물은 3가지이다. CFG 파일 훈련된 weight 파일 names 파일 라이브러리와 YOLO 로드 import cv2 import numpy as np from matplotlib import pyplot as plt net = cv2.dnn.readNet("yolov4_19000.weights", "yolov4.cfg") #CFG 파일, weight 파일을 넣어준다. classes = [] with open("food30.names", "rt",encoding = "UTF8") as f: #클래스 이름을 따로 저장해준다. 이 형식은 클래스가 한글이름 일 때 불러오..

백준 - 마법사 상어와 파이어스톰 (C++)

문제 : www.acmicpc.net/problem/20058 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net 문제설명 단순 구현 시뮬레이션 문제이다. 배열 회전하는 방법과 BFS를 사용하면 쉽게 풀 수 있다. 알고리즘 1. 배열을 스캔하며 나눠진 구역마다 회전해준다. 회전 방법은 코드에 주석처리 해놨다. 2. 회전 후 인접한 4방향을 탐색하고 조건을 실행한다. 3. 모든 명령을 마친 후 BFS을 통해 가장 큰 덩어리의 개수를 구한다. 주의사항 1. 구역을 나누고 회전하는 부분이 까다로웠는데..

백준 - 마법사 상어와 토네이도 (C++)

문제 : www.acmicpc.net/problem/20057 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net 문제설명 단순 구현 시뮬레이션 문제이다. 알고리즘 1. 문제 설명에 나와있는 5x5의 흩날리는 비율을 각 토네이도 방향마다 적용시켜준다. 2. 4방향 모두 만들어준다. 3. 토네이도를 이동하며 방향에 맞는 배열을 적용시켜 계산한다. 주의사항 1. 구현 문제는 조건을 주의해야한다. 조건을 미리 종이나 메모장에 적어논 다음 코딩하는 것이 실수를 줄이는 방법같다. 2. 4방향..

YOLO - Colab 이용해서 Custom 학습하기 (2)

YOLO를 훈련시키려면 필요한 3가지 데이터가 있다. 1. data 2. cfg 3. weight 1. data 만들기 data는 이런 형식을 가진다. classes는 훈련하려는 객체 개수 train은 훈련에 사용되는 이미지의 경로 valid는 평가에 사용되는 이미지의 경로 names는 객체의 이름 backup은 훈련된 weight를 저장하는 경로이다. 좀더 자세히 살펴보자면 data의 하위폴더에 txt와 names 파일이 존재한다. 이 파일들의 형식은 다음과 같다. 여기서 주의할 사항은 폴더경로를 잘 설정해줘야한다. train.txt에서 경로/번호/음식사진.jpg 로 설정되있다. 즉 번호에 names의 index와 같은 음식 사진이 들어가야한다. 위를 예로 들자면 names의 첫번째 index가 밥 -..

728x90