모델을 처음부터 만들어서 경량화 시켜 사용할 수 있지만 처음부터 만든다는 것이 쉬운일도 아니고 다른 domain에서 성능이 좋으리라는 보장도 없다 그러나 이미 검증된 ResNet, VGGNet, MobileNet, SqueezeNet 등등은 많은 사람들에게 여러 방면에서 검증이 되어 있어서 backbone으로 사용하기에 적절하다. 단점도 보완되어 발전하여 최신버전들로 계속 나오며 pretrain된 모델을 torchvision등에서 쉽게 가져와 사용할수도 있다 유명한 backbone들은 각각의 특징도 다양하다 dataset도 직접 모을 수 있지만 직접 모으는 것은 비용이 많이 든다. 쉽게 사용하라고 cifar10, cifar100, imagenet 등 공개되어 잘 알려진 dataset을 사용하..
1. dataset class 1-1) torch.utils.data에 존재하는 라이브러리? 주어진 Vanilla data를 “모델이 좋아하는 dataset”으로 변환시켜줌 원하는 augmentation이나 preprocessing 방식도 추가 가능 미리 만든 MNIST같은 데이터셋 말고도 어떠한 데이터에 대해서도 새로 만든 dataset class가 필요함 1-2) 기본 구조 Mydataset이라는 class는 torch.utils.data의 Dataset의 기능들을 전부 가졌으면 해서 Dataset을 상속받음 다음 3가지는 dataset이라는 class가 가져야할 기본 기능이다. 1) __init__는 Mydataset이 처음 선언되면 최초 1번 호출되는 함수 보통 Vanilla data의 위치나 경..
1. fine tuning 출력층 등을 변경한 모델을 학습된 모델을 기반으로 구축한 후, 직접 준비한 데이터로 신경망 모델의 결합 가중치를 학습시키는 방법 결합 가중치의 초기값은 학습된 모델의 parameter를 사용하는 것이 보통이다. finetuning은 transfer learning과는 다르게 출력층, 출력층에 가까운 부분 뿐만 아니라, 모든 층의 parameter를 재학습시킨다는 것이 특징이다. 일반적으로 입력층에 가까운 부분의 parameter는 learning rate를 작게 설정하고, (경우에 따라서는 바꾸지 않고) 출력층에 가까운 부분의 parameter는 learning rate를 크게 설정한다 transfer learning처럼 학습된 모델을 기반으로 하는 fine tuning은 직접..
1. 실제 비즈니스에서 딥러닝 구현하는 방식 학습이 끝난 모델을 사용해 ILSVRC의 1000종류 클래스에서 이미지 라벨을 예측했지만, 실제 비즈니스에서는 예측하고자 하는 이미지의 라벨이 ILSVRC에서 사용한 1000종류 클래스와는 다르므로, 자신의 데이터로 딥러닝 모델을 다시 학습시켜야 한다. 1-1) 파이토치를 활용한 딥러닝 구현 흐름 먼저 앞으로 구현할 딥러닝 응용 기술의 전체 그림을 파악 1) 구체적으로는 전처리, 후처리, 네트워크 모델의 입출력을 파악한다. 2) 다음으로는 Dataset 클래스를 작성 입력 데이터와 라벨 등을 쌍으로 갖는 클래스 Dataset에는 데이터에 대한 전처리 클래스의 인스턴스를 할당해서 파일을 읽을 때 자동으로 전처리를 적용 훈련데이터, 검증데이터, 테스트데이터에 대한..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.