오늘은 1주차 마지막날.
심화 과제를 풀면서 한 주간 배웠던 내용들과 추가로 보충할 내용들을 공부했다.
일일 학습 정리로 월~금 동안 매일
복습, 과제, 피어세션, 회고 정리했고 아래 링크 달았습니다.
강의 진도는 다 나가서 한번씩 다 복습 진행
구글 colab 같은 단어 선택 단축키 : ctrl + D
Tensor()는 기본적인 Tensor 클래스
의 생성자를 호출하는 것
즉, 새로운 텐서를 생성할 때 생성자로 쓰는 것
tensor()는 파이썬의 list나 NumPy의 ndarray 등으로 부터 데이터 복사해서 새로운 텐서
를 생성하는 것.
# torch.Tensor()
empty_tensor = torch.Tensor(4,5) # 4x5 텐서. 초기화x
# torch.tensor()
array = np.array([[1,2],[3,4]])
tensor = torch.tensor(array, dtype=torch.float32) # dtype 지정해서 텐서 생성
# 정의
torch.tensor(data, *, dtype=None, device=None, requires_grad=False, pin_memory=False) → Tensor
torch.rand(*size, *, generator=None, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False, pin_memory=False) → Tensor
torch.randn(*size, *, generator=None, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False, pin_memory=False) → Tensor
torch.rand()는 0~1 구간에서 균등 분포를 따르는 무작위 숫자 생성
torch.randn()은 평균0, 표준편차 1을 따르는 정규분포(가우시안 분포)를 따르는 무작위 숫자 생성. 값은 음수 양수 둘다 가능
2차원 텐서의 행과 열을 바꾸는 함수. 그 이상 차원의 텐서는 transpose()를 사용해야한다.
my_tensor.t()는 my_tensor.transpose(0,1)과 같다.
cf) torch.permute()는 모든 차원의 순서를 재배치할 수 있다.
torch.clamp(input, min=None, max=None, *, out=None) → Tensor
# ex. ReLU
after_reLU = t.clamp(min=0)
심화 과제 진행(torch.nn 없이 MLP 구현)
linear 함수는 y= w1X1 + w2X2+ ... + b
모양을 하기 때문에
가중치(weight) 입력특성(in_features, X) x 출력특성(out_features, y)만큼 필요하고,
편향(bias)는 출력특성의 수 만큼만 필요하다.
오늘 피어세션은 심화 과제와 팀회고 진행.
첫주인데 아직 모르는 내용이 많다.. 수학 통계학쪽으로 공부를 주말에 좀 열심히 해둬야 겠다. 일요일에는 복습도 하루 진행하자!!
10시에 시작하는 만큼 오전 시간에 운동하거나 따로 공부를 해서 시간을 효율적으로 쓰는 것이 좋아 보인다!