일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Selenium
- label
- SSH
- OpenCV
- Numpy
- Python
- 컨테이너
- 핑거스타일
- windows forms
- mysql
- JSON
- ubuntu
- nvidia-smi
- C#
- Docker
- pandas
- 채보
- C++
- C
- pip
- Visual Studio
- YOLO
- 기타 연주
- Linux
- pytorch
- 프로그래머스
- VS Code
- error
- 오류
- 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..