250x250
Notice
Recent Posts
Recent Comments
Link
코딩걸음마
[딥러닝] Pytorch 기초연산 본문
728x90
우선 tensor의 이해를 쉽게 하기 위해 , 기초 부터 정의해보자
해당 Tensor에 존재하는 data 수는 K*n*m 개이다
1. 기본연산1
아래의 코드를 그림으로 표현하면 다음과 같다
a = torch.FloatTensor([[1, 2],
[3, 4]])
b = torch.FloatTensor([[1, 1],
[1, 1]])
1-1. + 더하기 연산
a + b
tensor([[2., 3.],
[4., 5.]])
1-2. - 빼기 연산
a - b
tensor([[-1., 0.],
[ 0., 1.]])
1-3. x 곱하기 연산
a * b
tensor([[1., 2.],
[3., 4.]])
물론 **와 같이 지수연산도 가능하다.
1-4. / 나누기 연산
a = torch.FloatTensor([[1, 2],
[3, 4]])
b = torch.FloatTensor([[2, 2],
[2, 2]])
a / b
tensor([[0.5000, 1.0000],
[1.5000, 2.0000]])
1-5. 기타 연산
논리연산자
a == b
a != b
a <= b
a >= b
a in b #a의 data중 하나라도 b에 있는경우 True를 반환
a==b에 대한 결과는
tensor([[False, True],
[False, False]])
위와 같이 bool 타입으로 출력이 된다.
2. 기본연산2
2-1. sum 합연산
x = torch.FloatTensor([[1, 2],
[3, 4]])
x.sum()
tensor(10.)
파라미터 dim = 를 추가하여 어떤 차원을 기준으로 합칠 것인지 정할 수 있다.
x.sum(dim=0)
tensor([4., 6.])
x.sum(dim =-1)
tensor([3., 7.])
2-2. mean 평균연산
x.mean()
tensor(2.5000)
물론 파라미터 dim = 를 추가하여 어떤 차원을 기준으로 평균을 구할 것인지 정할 수 있다.
3. Tensor와 Scala 연산
x = torch.FloatTensor([[1, 2],
[3, 4]])
y = 1
x + y
tensor([[2., 3.],
[4., 5.]])
4. Tensor와 Vector 연산
x = torch.FloatTensor([[1, 2],
[4, 8]])
y = torch.FloatTensor([3,5])
tensor([[ 2., 4.],
[ 5., 10.]])
5. Tensor와 Tensor (shape가 다른경우)
x = torch.FloatTensor([[1, 2]])
y = torch.FloatTensor([[3],
[5]])
tensor([[4., 5.],
[6., 7.]])
여기부터 이제 머리가 아파온다..
728x90
'딥러닝_Pytorch' 카테고리의 다른 글
[딥러닝] Pytorch 슬라이싱/합치기(concat),stack/split,chunk/ index_select (0) | 2022.06.23 |
---|---|
[딥러닝] Pytorch 차원다루기(Shaping/squeeze) (0) | 2022.06.23 |
[딥러닝] Pytorch의 기초 (0) | 2022.06.23 |
[딥러닝] pytorch 설치하기 (0) | 2022.06.23 |
다중선형회귀분석에서 다중공선성 확인 및 제거하기 (with VIF) (0) | 2022.06.21 |
Comments