[머신러닝] 01. 머신러닝이란?
·
AI
이 글은 스탠퍼드 대학교의 CS229 강의 자료를 바탕으로 작성되었습니다.머신러닝이란?Field of study that gives computers the ability to learn without being explicitly programmed. (Arthur Samuel 1959)컴퓨터가 명시적으로 프로그래밍되지 않고 학습할 수 있는 능력을 제공하는 학문 분야를 의미한다. 인공지능 > 머신러닝 > 딥러닝인공지능의 범주 안에 머신러닝이 포함되고 그 안에 딥러닝이 포함된다. 이 글에서는 머신러닝에 대해 설명한다.머신러닝의 종류지도학습: 훈련 데이터에 레이블이 포함됨비지도학습: 훈련데이터에 레이블이 없음 § 준지도학습: 일부 레이블이 있는 데이터를 사용강화학습: 주어진 환경(environment)에서..
Hailo Data Compiler 사용
·
AI
YOLOv8n 모델을 기준으로 작성된 글입니다.Dataflow 컴파일러 흐름Tensorflow 또는 ONNX 신경망 그래프를 Hailo와 호환되는 표현으로 변환.(har)전체 정밀도 신경망 모델을 8비트 모델로 양자화Hailo 장치에서 실행하기 위해 네트워크를 바이너리 파일(HEF)로 컴파일 parsing1(pt → onnx)yolo export model=./can_plastic.pt imgsz=640 format=onnx opset=11Hailo에서 opset ≤14만 지원 parsing2(onnx → har) hailomz parse --hw-arch hailo8 --ckpt ./small_best.onnx yolov8nyolov8n은 hailo model zoo에서 지원하기 때문에 hailomz..
Hailo 관련 SW 설치
·
AI
raspberryPi 5 Hailo-8Hailo는 모델을 Hailo 환경에 맞추어 컴파일하는 Model Build Environment 부분과 컴파일된 모델을 실행하는 Runtime Environment로 나뉜다. Model Build Environment는 양자화 시 많은 GPU 사용을 필요로 하기 때문에 workstation에서 진행해야 하며 Runtime Environment는 실제 모델이 구동되는 RPI5에 설치되어야 한다. Model Build Environment목적: 모델 컴파일위치: 워크스테이션(GPU 사용이 가능한 컴퓨터)Runtime Environment목적: 모델 추론위치: RaspberryPi 5Model Build 환경 설치(hailo sdk suite)도커 설치가 선행되어야 함..
[YOLO] COCO 데이터 형식에서 YOLO 데이터 형식으로 바꾸기
·
AI
data ㄴ train -annotations.json -이미지’s… ㄴ valid -annotations.json -이미지’s…YOLO 형식으로 바꾸기 전 COCO 형식으로 된 데이터의 폴더 구조이다. 위 데이터를 아래와 같은 형식으로 바꾸려고 한다.datasets ㄴ images ㄴ train - 이미지's... ㄴ val - 이미지's... ㄴ labels ㄴ train - 라벨's... ㄴ val - 라벨's... 위와 같은 COCO 데이터 형식을 YOLO 데이터 형식으로 바꾸는 코드는 아래와 같다.import jsonimport osimport shutildef cocoToYolo(coco_json_path, output_label_dir): # COCO JSO..
[YOLOv8] custom training하여 바닥 Instance Segmentation하기
·
AI
데이터데이터 다운로드데이터 다운로드Download Dataset → Download dataset → Continue → Format을 COCO Segmentation으로 변경 → Continue 데이터 정보TRAIN SET: 930개VALID SET: 399개데이터 형식: COCOLABEL NAME: tehel 데이터 구조data ㄴ train -annotations.json -이미지’s… ㄴ valid -annotations.json -이미지’s… 데이터 전처리YOLOv8에서 COCO 데이터 형식을 지원한다고 들었으나,, 어떤 자료에서도 COCO형식 그대로 학습 하는걸 찾지 못했다. 따라서 COCO형식의 데이터를 YOLO형식의 데이터로 변환하여 학습했다. 데이터를 다운 받은 후 아래 파일을 실..
[YOLOv7] custom training
·
AI
colab 환경 0. 설치 import sys import torch print(f"Python version: {sys.version}, {sys.version_info} ") print(f"Pytorch version: {torch.__version__} ") !nvidia-smi !# Download YOLOv7 code !git clone %cd yolov7 !ls !pip install -r requirements.txt 1. 데이터 분리 train, val 파일 생성 각각의 폴더 내부에 images, labels 폴더 생성 각각 이미지와 라벨링 된 텍스트 파일을 넣는다. 이때 이미지와 텍스트 파일의 이름이 같아야 한다. 2. 데이터 옮기기 나눈 데이터를 압축하여 yolov7/data 폴더로 옮..
[활성화 함수] SiLU(Swish)
·
AI
SiLU(Swish)란 sigmoid에 입력값을 한 번 더 곱해주는 모양이다. 연구에서 활성화 함수를 ReLU로 사용한 모델에서 단순히 SiLU로 바꾼 실험에서 SiLU가 ReLU를 압도한다고 한다. 그 이유는 정확하진 않지만 아래 4가지로 추측하고 있다. Unbounded above where x≥0 Bounded below where x