일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 코테준비
- 개인 피티
- 운동
- 오블완
- 코딩테스트
- 개발자
- 건강
- 영화 비평
- 바프준비
- github
- 다이어트
- 논문 리뷰
- 암풀다운
- 바디프로필
- Knowledge Tracing
- 연구 시작
- 데드리프트
- 덤벨운동
- 라섹 수술 후기
- pytorch
- 체스트프레스
- 개인 운동
- PT 운동
- 티스토리챌린지
- 하체운동
- 프로그래머스
- 코드
- 디버깅
- 코테 공부
- 개인 PT
- Today
- Total
목록pytorch (6)
치즈의 AI 녹이기

pip install torch --upgrade version==1.10.1 1. 내 CUDA 버젼 확인하기 watch nvidia-smi 2. 해당 사이트에서 자신의 CUDA버젼과 호환이 되는 torch 버젼 알기 cu111은 CUDA 버젼 11.1의 경우 이므로, 10.1의 경우 101로 교체하면 됨. (https://download.pytorch.org/whl/cu111/torch_stable.html) 나는 CUDA 11.0으로 검색해서 맞는 명령어를 찾아준다. 3. 내 conda 가상환경에 깔린 패키지 목록 확인하여 torch 버젼 확인 conda env list 현재 ipython으로 import torch해서 버젼 확인했을 때는 1.7.0인데 가상환경에 깔린 torch는 1.9.0이 있는 ..

data.DataLoader에서 사용하는 collate_fn은 일반적으로 사용자 정의 함수에 의한 batch 단위의 데이터를 처리를 할 때 이용한다. 따라서 사용자 정의 함수의 argument는 batch 단위의 데이터 하나만 받는데 나의 경우, 특정 조건에 따라 전처리를 다르게 하기 위해 추가 인자를 넣어줘야 하는 상황이었다. 해결 방법은 간단하게 collate_fn을 위한 새로운 클래스를 생성하여, 추가 인자를 넣어주면 되었다. # 예시코드 class MyCollator(object): def __init__(self, *params): self.params = params def __call__(self, batch): # do something with batch and self.params . ..

state_dict란 이름 그대로 Python 사전(dict) 객체 입니다. 오늘은 state_dict에 어떤 것을 저장할 수 있을 지 알아보겠습니다. Best 모델 저장하기 학습 도중에 가장 좋은 성능을 가지는 모델을 저장 한다면, 학습을 중단한 뒤에도 해당 모델을 불러와 학습을 재개할 수 있습니다. 저장하는 지점 아래의 동료 코드를 보면, 현재 사용하고 있는 metric인 'ndcg 5'를 기준으로 best 수치를 갱신할 때마다 새롭게 정의한 함수 save_checkpoint를 통해 여러 매개변수 및 하이퍼 파라미터들을 저장하고 있습니다. 저장하는 방법 save_checkpoint 함수를 보면, state이라는 이름으로 dict 타입의 변수를 하나 만들어 인자에서 전달받은 매개변수 및 하이퍼 파라미터..

오늘은 Transformers 라이브러리에서 제공하는 pre-trained model들을 가져와 내맘대로 커스터마이징하는 방법을 소개합니다. HuggingFace란, 자연어처리(NLP) 분야에서 유명한 오픈소스 커뮤니티입니다. 특히 이곳에서 구축한 Transformers 라이브러리는 BERT, RoBERTa, GPT-2 or DistilBERT 등의 여러 NLP 모델들을 단순한 코드로도 실행할 수 있도록 만들었습니다. 아래 링크에서 Transformers 라이브러리에 구현된 모델들 코드를 확인할 수 있습니다. https://github.com/huggingface/transformers/tree/master/src/transformers/models huggingface/transformers 🤗 Tra..

오늘 가져온 것은 Embedding 클래스입니다. 위 코드에서 제가 주목한 점은 nn.Embedding으로 self.emb 변수를 초기화하는 46번 줄의 코드입니다. sparse argument를 사용하고 있어 이에 대해 구글링 해보았습니다. 해당 동영상을 참고하여 sparse = False일 때와 True일때를 비교해 보면, 위 코드를 작성해서 나온 결과, 처음에 10 x 10으로 초기화했던 embedding의 매개변수들의 변화도(gradient)값입니다. 이번엔 sparse=True로 두었을 때 결과값을 보겠습니다. 즉, 변화도에서 0이 아닌 것만 weight 업데이트 되도록 해줍니다. memory 절약에 도움이 될것 같습니다. Embedding 코드의 출처는 앞선 글에서 언급하였습니다.

한 개의 모델이 두 개 이상의 loss function을 갖고 있다면, pytorch에서는 어떻게 처리할까? #방법 1 loss1.backward() loss2.backward() loss3.backward() optimizer.step() #방법2 three loss = loss1+loss2+loss3 loss.backward() optimizer.step() 참고 링크 : https://stackoverflow.com/questions/12453580/how-to-concatenate-items-in-a-list-to-a-single-string