no image
[Pytorch] torchview를 사용한 모델 plot 시각화 (ubuntu)
Torchview를 사용한 모델 시각화다음 공식 깃허브를 참고하여 ubuntu에서 사용할 torchview를 세팅하였다. 설치설치 기준은 데비안 기반 환경이며. 여기서는 우분투를 사용했습니다. 윈도우에 설치하는 과정들은 다른 블로그를 참조해야할 것 같습니다. 윈도우 설치과정을 조금 살펴보았을 때 graphviz 패키지를 설치할 때 해당 문서에 따르면 graphviz-2.38.msi와 같은 파일을 통해 설치하는 것을 권장하는 것처럼 보였습니다. 이는 환경변수 설정때문 같습니다. 아마 graphviz만 제대로 설치된다면 윈도우에서 사용하는 것도 까다롭지 않을 수도 있을 것 같긴한데, 사용하지 않아서 잘모르며 우분투환경에서의 설치만 다룹니다. graphviz 설치apt-get install graphviz위처..
2024.05.29
RuntimeError: CUDA error: device-side assert triggered
RuntimeError: CUDA error: device-side assert triggered해당 오류는 많은 이유에서 발생할 수 있지만, 나의 경우에서는 값을 0으로 나누려는 과정에서 에러가 발생했고, 그리하여 다음과 같은 에러들을 만나게 되었다. RuntimeError: CUDA error: device-side assert triggeredCUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.For debugging consider passing CUDA_LAUNCH_BLOCKING=1./opt/conda/conda-bld/pytorch_1..
2024.04.05
Albumentation Color jitter 사용 오류
Albumentation에서 ColorJitter를 적용시키려 다음과 같이 세팅한 후 실행을 하였더니 오류가 발생하였다.transform = A.Compose([ # A.HorizontalFlip(), # A.VerticalFlip(), # A.Rotate(limit=(-180, 180), p=0.5), A.ColorJitter(brightness=0,contrast=(1,5),saturation=0,hue=0) ], is_check_shapes=False)  File "/opt/conda/lib/python3.10/site-packages/albumentations/augmentations/functional.py", line 1223, in adjust_contrast_t..
2024.04.05
no image
[Pytorch] 모델 저장 오류
분명 모델을 저장하는 과정에서는 문제가 없었는데, 모델을 불러오면 문제가 생겼다. strict옵션을 넣고 강제로 모델을 load할 수 있긴 하지만, 시드값을 맞추어도 실험의 재현이 되지 않았다.  해당 사진을 보면 저장한 모델의 값을 불러올 때 Missing key에러가 발생하는데 Unexpected key가 발생한 내역을 살펴보면 모든 key앞에 module가 붙어있다. 다음과 같이 모델의 state_dict()를 저장할 때, module.state_dict()를 저장하면 됐다.def save_model(net, save_path): # torch.save(net.state_dict(), save_path) torch.save(net.module.state_dict(), save_path) ..
2024.03.07
[Pytorch] Generator
Pytorch 공식문서에서의 설명 CLASStorch.Generator(device='cpu') 의사 난수를 생성하는 알고리즘의 상태를 관리하는 Generator의 객체를 생성하고 반환한다. 많은 In-place random sampling 함수에서 keyword argumend로 사용된다. In-place random sampling 텐서에 정의된 random sampling 함수 torch.Tensor.bernoulli_() - in-place version of torch.bernoulli() torch.Tensor.cauchy_() - numbers drawn from the Cauchy distribution torch.Tensor.exponential_() - numbers drawn from..
2024.02.27
[Pytorch] Randomness 제어
Randomness 제어랜덤성 제어를 위해 필요한 것- 초기 가중치 고정- augmentation에 사용되는 random값 고정 def set_seed(seed=990912): torch.manual_seed(seed) torch.cuda.manual_seed(seed) torch.cuda.manual_seed_all(seed) torch.backends.cudnn.deterministic = True torch.backends.cudnn.benchmark = False np.random.seed(seed) random.seed(seed)  torch.manual_seed랜덤한 숫자를 생성하기 위한 시드를 고정한다. return은 torch.Generator 오브젝트..
2024.02.27