CS 공부/AI
torch 함수
imsmile2000
2023. 3. 14. 11:26
torch.gather
import torch
A = torch.Tensor([[1, 2], [3, 4]])
# torch.gather 함수를 써서 해보세요! 정답=[1,4]
A=torch.gather(A,0,torch.tensor([[0, 1]]))
여기서 index=torch.tensor[[0,1]]이므로
[[1,2],
[3,4]] 에서 첫째줄의 0번째 인덱스 둘째줄의 1번째 인덱스가 가져와져 -> [[1,4]]가 된다.
[[1,4]]를 squeeze하면 [1,4]가 됨
torch.from_numpy
더보기
tensor([1, 2, 3])
[-1 2 3]
torch.chunk
더보기
(tensor([[1, 2, 3]]), tensor([[4, 5, 6]]))
(tensor([[1, 2],
[4, 5]]), tensor([[3],
[6]]))
torch.swapdims
더보기
tensor([[[0, 1],
[2, 3]],
[[4, 5],
[6, 7]]])
tensor([[[0, 1],
[4, 5]],
[[2, 3],
[6, 7]]])
tensor([[[0, 4],
[2, 6]],
[[1, 5],
[3, 7]]])
torch.Tensor.scatter
더보기

torch.gather랑 비슷한 느낌..
#scatter( 인덱싱할 축, index , src , reduce = None )

src=tensor([[ 1, 2, 3, 4, 5], [ 6, 7, 8, 9, 10]])
index = torch.tensor([[0, 1, 2], [0, 1, 4]]) #src=[[1,2,3],[6,7,8]]
tensor([[1, 2, 3, 0, 0],
[6, 7, 0, 0, 8],
[0, 0, 0, 0, 0]])
torch.randn
더보기
평균이 0 이고 분산이 1 인 정규 분포에서 난수로 채워진 텐서를 반환
torch.randn(size)
torch.randperm
더보기
0에서 n-1까지 정수의 임의 순열을 반환
torch.randperm(n)
torch.randperm
더보기
0에서 n-1까지 정수의 임의 순열을 반환
torch.randperm(n)
torch.poisson(input)
더보기
주어진 속도 매개변수(input)를 사용하여 푸아송 분포에서 샘플링된 각 요소와 동일한 크기의 텐서를 반환
torch.poisson(input)
torch.log1p
더보기
자연 로그가 (1 + input)인 새 텐서를 반환합니다
torch.log1p(input)
torch.rad2deg
더보기
각 요소를 라디안 각도에서 degree로 변환
torch.rad2deg(input)
torch.clamp
더보기
모든 요소를 [min ,max ] 범위로 고정. min_value 및 max_value를 각각 min, max로 지정하면
yi=min(max(xi,min_valuei),max_valuei)가 반환됨
torch.clamp(input,min,max,out)
torch.prod
더보기
input 텐서의 모든 요소의 곱을 반환
torch.prod(input,줄일 차원)
torch.count_nonzero
더보기
지정된 dim에 따라 input 텐서에서 0이 아닌 값의 수를 셈. dim이 지정되지 않으면 텐서의 0이 아닌 모든 값이 계산됨
torch.count_nonzero(input,dim)
torch.argmax
더보기
input텐서에 있는 모든 요소의 최대값 인덱스를 반환
torch.argmax(input)
torch.allclose
더보기
∣input−other∣≤atol+rtol×∣other∣ 식을 만족하는지 확인
torch.allclose(input, other, rtol=1e-05, atol=1e-08, equal_nan=False)
torch.argsort
더보기
지정된 차원을 따라 값별 오름차순으로 텐서를 정렬하는 인덱스를 반환
torch.argsort(input)
torch.topk
더보기
input텐서에 있는 모든 요소의 최대값 인덱스를 반환
torch.topk(input, k, dim=None, largest=True, sorted=True, *, out=None)
torch.triu
더보기
행렬(2-D 텐서) 또는 행렬 배치 입력의 위쪽 삼각형 부분을 반환. output 텐서 출력의 다른 요소는 0으로 설정됨
torch.triu(input, diagonal=0, *, out=None)
torch.einsum
더보기
input 피연산자 요소의 곱을 아인슈타인 합계 규칙에 기반한 표기법을 사용하여 지정된 차원에 따라 합합니다.
torch.einsum(equation, *operands)
torch.bucketize
더보기
버킷의 경계가 경계로 설정된 input의 각 값이 속한 버킷의 인덱스를 반환(입력과 동일한 크기로 반환)
torch.bucketize(input, boundaries, *)
torch.addmm
더보기
행렬 mat1과 mat2의 행렬곱을 수행. input이 최종 결과에 +됨
torch.addmm(input, mat1, mat2)
torch.qr
더보기
행렬 또는 행렬 배치 입력의 QR 분해를 계산하고 input=QR과 같은 텐서의 명명된 튜플(Q, R)을 반환
torch.qr(input, some=True)