일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MATLAB
- Python
- WOX
- matplotlib
- ChatGPT
- 수식삽입
- Zotero
- 논문작성
- Statics
- teps
- obsidian
- 인공지능
- IEEE
- Dear abby
- 수치해석
- JAX
- 옵시디언
- 텝스
- Julia
- 에러기록
- 고체역학
- 생산성
- 우분투
- 텝스공부
- 딥러닝
- LaTeX
- Numerical Analysis
- pytorch
- Linear algebra
- 논문작성법
- Today
- Total
목록pytorch (6)
뛰는 놈 위에 나는 공대생
코드 안에 네트워크가 2개가 있고 이 2개의 네트워크를 각각 다른 learning rate로 학습하고 싶을 때 사용하는 코드다. 아래와 같이 개별로 learning rate를 설정하면 net2 안에 있는 파라미터는 0.001로 학습되고 net1 안에 있는 파라미터는 0.01로 학습된다. optimizer = optim.Adam([ {'params': func.net1.parameters()}, {'params': func.net2.parameters(), 'lr': 0.001} ], lr=0.01) optimizer.param_groups[0]['capturable'] = True print(optimizer.param_groups[0]['lr']) print(optimizer.param_groups[1..
RuntimeError: Trying to backward through the graph a second time (or directly access saved tensors after they have already been freed). Saved intermediate values of the graph are freed when you call .backward() or autograd.grad(). Specify retain_graph=True if you need to backward through the graph a second time or if you need to access saved tensors after calling backward. 위와 같은 에러는 한 번 모델에서 for..
코드 상에서 특정 변수를 따로 gradient descent 방법으로 업데이트해야할 일이 있는데 이상하게 에러가 났다. 그래서 쉬운 예제를 통해서 이해를 해보고자 했다. a = torch.linspace(0., 2. * math.pi, steps=25, requires_grad=True) b = torch.sin(a) c = 2 * b d = c + 1 out = d.sum() out.backward(retain_graph=True) gradient = a.grad.clone().detach() a -= 0.001 * gradient print(a.requires_grad) 이렇게 코드를 짜면 RuntimeError: a leaf Variable that requires grad is being used..
Tensorflow와 달리 PyTorch는 사용하는 텐서를 따로 gpu에 올려주는 작업을 해야한다. 그러나 PyTorch는 기본적으로는 cpu를 사용한다. 그러나 딥러닝 관련 연구나 프로젝트를 수행하려는 사람들은 gpu를 가진 경우가 많을 것이다. 따라서 웬만하면 gpu를 사용하는 것이 더 좋으므로 gpu를 default로 설정하는 게 낫다. 또한 나의 경우에는 메모리를 좀 더 차지하더라도 정밀하게 계산했으면 좋겠어서 double형 (또는 float64형)을 기본적으로 사용하고 싶었다. 이 글에서 다루는 내용은 다음과 같다. 1. Tensor를 gpu에서 사용하도록 하는 방법 2. Default 설정을 바꿔서 gpu를 쓰도록 지정하는 방법 1. Tensor를 gpu에서 사용하도록 하는 방법 tensor를..
이 글에서는 딥러닝에 사용되는 automatic differentiation에 대한 설명을 하고자 한다. 참고한 서적은 Mathematics for machine learning이다. 처음에는 automatic differentiation에 대한 설명을 하고, 이를 딥러닝 백엔드인 PyTorch 결과값을 가지고 이해를 해볼 것이다. 내가 모델에 대해 많이 알고 있지 않아도 요즘은 코드가 잘 되어있어서 쉽게 딥러닝을 테스트해볼 수 있지만 그 구조를 바꾸려면 더 깊은 내용을 알아야 하기 때문에 이 내용을 자세히 살펴볼 필요가 있다. 필요한 사전 지식 : Vector, Matrix calculus Notation 주의 일반적으로 gradient vector를 column vector로 쓰는 경우가 있고, ro..
tensorflow 2.0 이상 버전을 사용하고 있어서 당연히 PyTorch도 쉽게 gpu를 쓸 수 있을 거라 생각했지만 그렇지 않았다. 왜냐하면 PyTorch도 CUDA 버전을 맞춰줘야 하기 때문이다. 일단은 torch 라이브러리에서 다음 코드를 입력하여 True가 나오는지 False가 나오는지 확인한다. torch.cuda.is_available() 본인에게 gpu가 있음에도 false가 나온다면 CUDA를 설치해야하는 문제가 된다. CUDA 설치에 대해 전혀 모른다면 다음 링크에서 확인하자. https://normal-engineer.tistory.com/163 CUDA 버전을 제대로 확인하고 설치해야 불필요한 시간 낭비를 줄인다. 확인 방법은 Pytorch 사이트에서 확인하는데 https://py..