RuntimeError: element 0 of tensors does not require grad and does not have a grad_fn 파이토치의 기울기 계산 기능(required_grad)을 끈(False) 상태인 tensor로 기울기 계산을 할 경우 발생하는 에러다. 파이토치에서는 required_grad의 상태가 True인 tensor에 대해서만 grad_fn을 생성하고, grad_fn을 통해 자동 미분/역전파 과정을 수행한다. 해결 방법 1. tensor를 생성할 때, requires_grad=True로 명시 example_tensor = torch.tensor([1.,2.,3.],requires_grad=True) 2. tensor 생성 후, x.requires_grad(True..
torch tensor -> numpy import torch torch_value = torch.randn(1,3) print(torch_value) # tensor([[0.5519, 0.1323, 0.1297]]) numpy_value = torch_value.numpy() print(numpy_value) # [[0.551902, 0.132319, 0.129740]] numpy -> torch tensor import torch import numpy as np numpy_value = np.ones(4) print(numpy_value) # [1. 1. 1. 1.] torch_value = torch.from_numpy(numpy_value) print(torch_value) # tensor([1..
파이토치(pytorch)를 주로 사용할 때는 CPU자원을 사용하거나 GPU 장비를 사용합니다. 하지만, Apple Silicon 맥북은 Nvidia-GPU 와는 다른 장비구조를 가지고 있습니다. 그래서 nvidia-gpu 사용하는 것과 동일하게 사용하면 에러가 발생하기 때문에, 파이토치를 apple silicon 맥북에서 사용하는 방법을 알아보려고 합니다. Conda 설치 우선 개발 환경을 셋팅을 위해 conda를 설치해야 합니다. wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh bash Miniconda3-latest-MacOSX-arm64.sh Pytorch conda 버전 설치 그 후, conda 환경 + appl..
모델의 파라미터 개수를 확인하는 방법은 크게 두가지가 있습니다 1. model.parameters() 함수를 이용한 방법 아래는 예시 코드입니다. import torchvision.models import * if __name__ == '__main__': model = vgg11() # 학습 가능한 파라미터 개수 trainable_parameters = sum(p.numel() for p in model.parameters() if p.requires_grad) # 전체 파라미터 개수 total_parameters = sum(p.numel() for p in model.parameters()) 2. torchsummary torchsummary 라이브러리를 이용한 방법인데, 해당 방법은 가끔 작동이 안..