파이토치의 구성요소
-torch : 메인 네임스페이스
-torch.autograd : 자동 미분 기능 제공 라이브러리
-torch.nn : 신경망 구축 데이터 구조 및 레이어
-torch.multiprocessing : 병렬처리 기능 제공
-torch.optim : SGD 중심 파라미터 최적화 알고리즘 제공
-torch.utils : 유틸리티 기능 제공
-torch.onnx : 서로 다른 프레임워크 간 모델 공유
Tensors
- 데이터 표현을 위한 기본 구조로 텐서 사용
- 텐서는 데이터를 담기 위한 컨테이너로서 일반적으로 수치형 데이터 저장
- 넘파이의 ndarry 생각하면 됨
- GPU 사용 연산 가속 가능
00 Tensor (Scalar)
1D Tensor(Vector) : Rank:1 Shape(3,)
2D Tensor(Matrix) : Rank:2 Shape(3,3)
3D Tensor : Rank:3 Shape(3,3,3)
4D Tensor : Rank:4 Shape(3, 3, 3, 3)
5D Tensor : Rank:5 Shape(3, 3, 3, 3, 3)
6D Tensor : Rank:6 Shape(3, 3, 3, 3, 3, 3)





short으로 바꾸고 int는 32비트짜리 그리고 long 자체는 64비트입니다. 굉장히 긴 정수를 담을 수 있는 것입니다.



랜덤하게 하나 뽑아달라고 한 것입니다. 텐서로 출력할 때는 소수점 넷째자리만 출력하는데 item()으로 열 경우 전체가 나옵니다. 이것을 옮길 것입니다.

다차원 텐서 표현
0D Tensor(Scalar)
-하나의 숫자를 담고 있는 텐서(Tensor)
-축과 형상이 없음

1D Tensor(Vector)
-값을 저장한 리스트와 유사한 텐서
-하나의 축 존재

2D Tensor(Matrix)
-행렬과 같은 모양으로 두개의 축이 존재
-일반적인 수치, 통계 데이터셋에 해당
-주로 샘플과 특성을 가진 구조로 사용

3D Tensor
-큐브와 같은 모양으로 세개의 축 존재
-데이터 연속된 시퀀스 데이터나 시계열 데이터에 속함
-주식 가격, 시간 따른 질병 발병 등 데이터 존재
-샘플, 타임스텝, 특성 등 가진 구조 사용

4D Tensor
-4개의 축
-컬러 이미지 데이터가 대표적 사례
-주로 샘플, 높이, 너비, 컬러 채널을 가진 구조로 사용
5D Tensor
-5개의 축
-비디오 데이터가 대표적
-주로 샘플, 프레임, 너비, 컬러 채널을 가진 구조로 사용

absolute 하면 음수가 사라지는 것입니다.지금은 랜덤한 값에 음수가 없어서 그대로 표시됩니다. ceil은 위쪽으로 floor는 아래쪽으로 맞추는 것입니다. clamp는 0.5를 넘으면 0.5로 clamp로 찍어버리는 것입니다. 최대값 최소값을 찍어버리는 것입니다. -0.5 ~0.5

평균 표준편차, 곱, unique 즉 중복을 제거하고 출력한 것입니다.
-argmax : 최대값을 가진 인덱스
-argmin : 최소값을 가진 인덱스

최대값은 0.7728과 0.5894가 나온 것입니다.
dim=0 이면 행방향이고
dim=1 이면 열방향입니다.

tensor의 덧셈


inplace : 리턴한 값이 y가 되도록 inplace 연산을 _ 표기로 할 수 있습니다.





print(x[:,0]) 전체 중에서 0번째라는 것입니다. 행은 다 선택하면서 0번째 컬럼만 출력해주라는 것이기에 1, 3이 나옵ㄴ디ㅏ.
print(x[:,1]) 1번째 열을 0번째 출력해달라는 것입니다.
print(x[0, :]) 행을 0번째 다 출력해달라는 것입니다.
print(x[1, :]) 행을 1번째 다 출력해달라는 것입니다.








dim0일 때입니다.

dim1일 때입니다.

dim2일 때입니다.





tensor가 cpu상에 있으면 numpy 배열이 메모리 공간을 공유하는 개념이기에 numpy는 효율적인 배열을 유지하기 위해 공유합니다. 그러기에 변하면 공유를 받아서 출력하는게 둘 다 a에 반영했더니 numpy 반영한 b도 똑같이 바뀌는 것을 볼 수 있습니다.

CPU일때 공유합니다.
GPU일때는 별도의 메모리가 있습니다.


sum 연산 자체를 했다고 기록에 남기는 것입니다.

grad가 추적하는 것을 볼 수 있습니다.


미분값이 들어감








'IT 프로그래밍 > AI' 카테고리의 다른 글
[딥러닝] 기본적 개념 정리 (0) | 2025.03.24 |
---|---|
[Pytorch] BMM, Layer, Activation Function (0) | 2025.03.24 |
딥러닝 연구의 초점 (0) | 2025.03.18 |
RNN이 무엇인가? 그리고 Transformer로 대체된 이유 (0) | 2025.03.17 |
CNN motivation (0) | 2025.03.15 |