본문 바로가기

전체 글

(224)
[Pytorch] Dataset과 Dataloader 데이터 샘플을 처리하는 코드는 지저분(messy)하고 유지보수가 어려울 수 있다. 더 나은 가독성(readability)과 모듈성(modularity)을 위해 데이터셋 코드를 모델 학습 코드로부터 분리하는 것이 이상이다. PyTorch는 torch.utils.data.DataLoader와 torch.utils.data.Dataset의 두 가지 데이터 기본 요소를 제공하여 미리 준비된(pre-loaded) 데이터셋 뿐만 아니라 가지고 있는 데이터를 사용할 수 있도록 한다. Dataset은 샘플과 정답(label)을 저장하고, DataLoader는 Dataset을 샘플에 쉽게 접근할 수 있도록 순회 가능한 객체(iterable)로 감싼다. PyTorch의 도메인 특화 라이브러리들은 (FashionMNIST와..
(04강) Semantic Segmentation 네이버 부스트캠프 AI Tech 2기 Level2 Ustage 6주차1강과 3강의 Image classification은 사진이 주어졌을 때 사진 전체를 카테고리로 분류한다. 반면 Semantic Segmentation은 사진이 주어졌을 때 사진 내 각 픽셀을 카테고리로 분류하는 task이다. 즉, 하나의 사진이 아닌, 사진에 있는 모든 물체들을 분류한다는 것이다. 본 강의에서는 먼저 최초의 end-to-end segmentation 모델 FCN을 시작으로 Hypercolumn 모델을 배운다. 다음으로 segmentation의 breakthrough라고 볼 수 있는 UNet 모델에 대해 공부하고 Pytorch 코드 실습을 한다. 끝으로 최근까지 좋은 성능을 보이고 있는 DeepLab v3에 대해 배운다...
오늘의 영단어 Misc: 기타 brevity: 간결함 coordinate: 좌표 mutation: 돌연변이, 변화 cascade: 폭포 unobtrusive: 불필요하게 관심을 끌지 않는, 지나치게 야단스럽지 않은 trasmmit: 부치다 compatibility: 호환성 deviate: 빗나가게 하다. fetch: 가져오다. confidential: 기밀의 proprietary: 소유권 dissemination: 씨 뿌리기 denominator: 분모 prerequisite: 전제 조건 bloat: 부풀다, 부풀게 하다.
Quickdraw dataset Quickdraw dataset은 다양한 물체에 대한 간단한 sketch로 구성된 데이터셋이다. 데이터셋 홈페이지에서 예시 이미지들을 확인할 수 있다.
[Pytorch] .requires_grad(), torch.no_grad(), model.eval() .requires_grad() 신경망에서, 변화도를 계산하지 않는 매개변수를 일반적으로 고정된 매개변수(frozen parameter)라고 부른다. 이러한 매개변수의 변화도가 필요하지 않다는 것을 미리 알고 있으면, 신경망 모델의 일부를 "고정(freeze)"하는 것이 유용하다. (이렇게 하면 autograd 연산량을 줄임으로써 성능상의 이득을 제공한다.) 미세조정(finetuning)을 하는 과정에서, 새로운 정답(label)을 예측할 수 있도록 모델의 대부분을 고정한 뒤 일반적으로 분류 계층(classifier layer)만 변경한다. torch.no_grad() gradient 계산을 비활성화하는 context manager이다. no_grad()는 Tensor.backward()를 부르지 않아도 ..
리눅스 명령어 1. pwd "print working directory"의 준말로, 컴퓨터의 명령 줄 인터페이스에서 현재 작업 중인 디렉터리의 이름을 출력하는 데 쓰인다. 즉, 현재 폴더 경로를 절대 경로로 보여준다. 출처: 위키백과, https://ko.wikipedia.org/wiki/Pwd 2. top 현재 OS의 상태를 나타내주는 CLI 어플리케이션이다. 메모리 사용량, CPU 사용량 등을 나타내준다. 출처: https://sabarada.tistory.com/146 3. man 쉘 커맨드의 매뉴얼 문서를 보고 싶은 경우 man python 종료: ':q' 입력 4. echo Python의 print처럼 터미널에 텍스트 출력 echo "hi" echo `쉘 커맨드` 입력시 쉘 커맨드의 결과를 출력. (`: 1왼..
Custom Dataset 생성 Dataset의 기본 구성 요소from torch.utils.data import Dataset # torch.utils.data의 Dataset 라이브러리 상속class CustomDataset(Dataset): def __init__(self): pass def __getitem__(self, index): pass def __len__(self): pass __init__ 메서드데이터의 위치나 파일명과 같은 초기화 작업을 위해 동작한다. 일반적으로 CSV파일이나 XML파일과 같은 데이터를 이때 불러온다. 이렇게 함으로써 모든 데이터를 메모리에 로드하지 않고 효율적으로 사용할 수 있다. 여기에 이미지를 처리할 transforms들을 Compos..
[Python] directory 다루기 1. OSOS 모듈을 사용해서 directory를 다룰 수 있다.os.mkdir디렉토리를 만든다import osos.mkdir("log")os.path.isdir디렉토리가 있는지 확인if not os.path.isdir("log"): os.mkdir("log")os.listdir()지정한 디렉토리 내의 모든 파일과 디렉토리의 list를 리턴한다.os.path.splitext확장자만 따로 떨어뜨린다.name = r'c:\temp\python\data.txt'print(os.path.splitext(name)) # ('c:\\temp\\python\\data', '.txt') os.path.abspath(path)절대 경로 반환import osos.path.abspath(__file__)>>> '/Users..