일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ubuntu
- mysql
- pytorch
- Docker
- pip
- C
- 컨테이너
- label
- 프로그래머스
- 핑거스타일
- YOLO
- C#
- error
- Python
- Selenium
- C++
- nvidia-smi
- Linux
- OpenCV
- Numpy
- Visual Studio
- pandas
- SSH
- VS Code
- 오류
- windows forms
- 채보
- JSON
- paramiko
- 기타 연주
- Today
- Total
목록pytorch (11)
기계는 거짓말하지 않는다
PyTorch에서 model을 선언 후 validation 혹은 test를 진행할 때 model.eval()과 with torch.no_grad():혹은 함수에 @torch.no_grad를 선언한다. 이 의미는 다음과 같다.no_gradPyTorch의 autograd engine을 사용하지 않는다. 신경망 학습을 지원하는 PyTorch의 자동 미분 엔진이다.이것은 gradient 계산을 하지 않는다는 의미이다. 역전파(backpropagation)를 진행하지 않고 이렇게 함으로써계산에 대한 메모리 소비를 줄인다. test 시에는 이 과정을 활용하지 않기 때문에 명시한다.model.eval()선언한 모델을 평가 모드로 전환한다. training 시에 model.train()을 선언하는 것과 다르다.infe..
import torch# torch version, gpu 사용 여부, 이름 체크print("torch version>>", torch.__version__)print("GPU 사용 유무>>", torch.cuda.is_available())print("GPU 이름>> ", torch.cuda.get_device_name(0))'''torch version>> 1.7.1+cu101GPU 사용 유무>> TrueGPU 이름>> GeForce GTX 1650'''# device 설정. GPU 사용 가능 여부에 따라 device 정보 저장device = "cuda:0" if torch.cuda.is_available() else "cpu"print(device)# cuda:0
import torchmodel = # 모델 생성# 모델 저장save_name = "model_final"torch.save(model.state_dict(), f"Directory/{save_name}.pth")# 모델 불러오기load_name = "model_final"model.load_state_dict(torch.load(f"Directory/{load_name}.pth")) # 경로, 저장 모델 이름# 설정 값 세부 저장checkpoint = { 'model': model.state_dict(), 'optimizer': optimizer.state_dict(), 'lr_scheduler': lr_scheduler.state_dict(), 'epoch': epoch}torch.save(c..