240809 TIL #462 AI Tech #5 1주차 주간 학습 정리

김춘복·2024년 8월 9일
0

TIL : Today I Learned

목록 보기
463/543
post-custom-banner

Today I Learned

오늘은 1주차 마지막날.
심화 과제를 풀면서 한 주간 배웠던 내용들과 추가로 보충할 내용들을 공부했다.


주간학습정리

일일 학습 정리로 월~금 동안 매일
복습, 과제, 피어세션, 회고 정리했고 아래 링크 달았습니다.

강의 복습

  • 강의 진도는 다 나가서 한번씩 다 복습 진행

  • 구글 colab 같은 단어 선택 단축키 : ctrl + D

torch.Tensor()와 torch.tensor()의 차이

  • 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()와 torch.randn()의 차이

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을 따르는 정규분포(가우시안 분포)를 따르는 무작위 숫자 생성. 값은 음수 양수 둘다 가능

torch.t()

2차원 텐서의 행과 열을 바꾸는 함수. 그 이상 차원의 텐서는 transpose()를 사용해야한다.
my_tensor.t()는 my_tensor.transpose(0,1)과 같다.
cf) torch.permute()는 모든 차원의 순서를 재배치할 수 있다.

clamp()

torch.clamp(input, min=None, max=None, *, out=None) → Tensor

# ex. ReLU
after_reLU = t.clamp(min=0)
  • 텐서의 값을 특정 범위로 제한하는 데 사용되는 함수.
    모든 요소를 min~max 값 사이로 제한한다.
    min보다 작으면 min, max보다 크면 max

과제

  • 심화 과제 진행(torch.nn 없이 MLP 구현)

  • linear 함수는 y= w1X1 + w2X2+ ... + b 모양을 하기 때문에
    가중치(weight) 입력특성(in_features, X) x 출력특성(out_features, y)만큼 필요하고,
    편향(bias)는 출력특성의 수 만큼만 필요하다.


피어세션


주간 회고

  • 첫주인데 아직 모르는 내용이 많다.. 수학 통계학쪽으로 공부를 주말에 좀 열심히 해둬야 겠다. 일요일에는 복습도 하루 진행하자!!

  • 10시에 시작하는 만큼 오전 시간에 운동하거나 따로 공부를 해서 시간을 효율적으로 쓰는 것이 좋아 보인다!

profile
Backend Dev / Data Engineer
post-custom-banner

0개의 댓글