2주차에 접어들었다. 강의시수가 저번주에 비해 현저히 줄어들어서 좋아했는데 과제 양이 엄청나게 많아졌다 😇
본격적으로 pytorch에 대해 배우기 시작했다. 모델을 만들고 구현하는 데에 직결되어 있는 부분이라 조금 긴장이 되기도 했다. 여기서 기초를 탄탄히 다지지 못하면 나중에 두고두고 발목을 잡힐 게 뻔하니까.
다양한 프레임워크가 존재한다. 1주차에는 GD 등을 실제로 하나하나 구현해보는 연습을 했지만 실제로는 코드를 line-by-line로 모두 짜기보다는 잘 만들어진 프레임워크를 활용한다.
가장 유명한 프레임워크를 몇가지 뽑자면 역시 Tensorflow, Pytorch, Keras이다.
강사님이 몇가지 특징과 장단점 등을 알려주셨는데 대강 요약해보자면
과거에는 TF가 훨씬 더 많이 쓰였다는데 최근에 가까워질수록 pytorch의 점유율이 빠르게 상승했다고 한다. 이외에도 여러가지 이유를 들어주셨고 결국 앞으로 중점적으로 배우게 될 프레임워크는 pytorch가 되었다.
numpy의 ndarray에는 pytorch의 tensor가 대응된다. pytorch는 matrix 등을 tensor 객체로 표현한다.
import numpy as np
n_arr = np.arange(15).reshape(3,5)
t_arr = torch.tensor(n_arr)
numpy에서와 마찬가지로 torch에도 tensor를 다룰 수 있는 다양한 방법이 존재한다.
몇가지만 예로 들자면...
a = torch.tensor([[1,2],[3,4]])
b = a.view(4)
a[1][1] = torch.tensor([5])
# b의 마지막 값도 5로 변경됨
이렇게 a의 값을 변경할 경우 b에도 그 변화가 적용된다는 것이다.
(numpy의 reshape은 그렇지 않다)
import torch
가 정상적으로 동작하는데 vscode에서는 동작하지 않는다.conda list
로 pytorch가 설치된 것도 확인했다.역시 환경 설정이 제일 어렵고 짜증난다 🥺
이것 또한 공부겠지만... 이럴 때마다 시간이 정말 아깝다.
torch의 여러 함수들을 더 공부할 시간, 운동할 시간이 vscode에서 import torch가 안되는 문제 때문에 사라졌다.(심지어 해결도 되지 않았다)
어쩌면 문제를 해결하지 못하는 나 자신에 대한 짜증일지도 모르겠다. 나는 개발자라는 직업에 적성이 맞는걸까? 이런 문제가 발생했을 때 해결책을 찾기 위해 깊게 파고드는 것을 즐기는 사람이 개발자에 어울리는 것 아닐까? 나는 다른 문제들 때문에 내가 집중하고자 했던 문제에서 멀어지는 상황이 정말 싫다.
하지만 그래도 결국 내일도 다시 정진해야 할 것이다. 개발자가 나에게 맞지 않는 길이라 해도 5개월의 시간은 집중하기로 했으니까. 내일은 부디, 이 문제를 해결하고 집중하고자 했던 문제들에 집중할 수 있기를.
당신의 지식에 감탄하고 갑니다..! 👍