torch.mul
torch.mul(input, other, out=None)
기능 :
정렬 곱한 방송 될 수 있습니다
이 기능은 두 경우를 처리 할 수 있습니다 :
- 입력은 행렬 / 벡터 다른 스칼라
입력 이때 다른 곱한 것을 모든 요소 - 그것은 입력 행렬 / 벡터이고, 다른 하나는 매트릭스 / 벡터 인
시각 파라 곱할 모두 그림, 캔 방송 있는지
예를 들면 :
-
동일한 크기의 다른 입력은 파라 승산
a: tensor([[ 1.8351, 2.1536], [-0.8320, -1.4578]]) b: tensor([[2.9355, 0.3450], [0.5708, 1.9957]]) c = torch.mul(a,b): tensor([[ 5.3869, 0.7429], [-0.4749, -2.9093]])
-
두 벡터 방송
a: tensor([[ 1.8351, 2.1536], [-0.8320, -1.4578]]) b: tensor([[2.9355, 0.3450], [0.5708, 1.9957]]) c = torch.mul(a,b): tensor([[ 5.3869, 0.7429], [-0.4749, -2.9093]])
torch.mm
torch.mm(input, mat2, out=None)
이 문제를 해결하려면 :
행렬 곱셈 2 차원만을 이차원 행렬을 처리 할 수있는 다른 기준을 사용torch.matmul
예를 들면 :
mat1 = torch.randn(2, 3)
mat2 = torch.randn(3, 3)
torch.mm(mat1, mat2)
tensor([[ 0.4851, 0.5037, -0.3633],
[-0.0760, -3.6705, 2.4784]])
torch.bmm
torch.bmm(input, mat2, out=None)
함수 이름을 참조하십시오, 우리는 알고 torch.mm
계산에 기초하여 배치의 추가는 방송 할 수 없다
torch.matmul
torch.matmul(input, other, out=None)
기능 :
업 적용, 배치를 처리 할 수있는, 방송 매트릭스 :
- 첫 번째 인자는 하나의 차원이고, 두 번째는 두 차원 인 경우, 사이즈 제를 제공하는
- 제 이차원이고, 두 번째는, 즉, 행렬 벡터 승산 일차원이면
- 배치는 배치 산출 유지 될 수있는 케이스
- 치수는 동일하지 않은 제 1 방송 될 수 있고, 그 배치를 계산
예를 들면 :
-
벡터 X 벡터
tensor1 = torch.randn(3) tensor2 = torch.randn(3) torch.matmul(tensor1, tensor2).size() torch.Size([])
-
행렬 X 벡터
tensor1 = torch.randn(3, 4) tensor2 = torch.randn(4) torch.matmul(tensor1, tensor2).size() torch.Size([3])
-
일괄 행렬 X 방송 vecto
tensor1 = torch.randn(10, 3, 4) tensor2 = torch.randn(4) torch.matmul(tensor1, tensor2).size() torch.Size([10, 3])
-
일괄 행렬 X 일괄 행렬
tensor1 = torch.randn(10, 3, 4) tensor2 = torch.randn(10, 4, 5) torch.matmul(tensor1, tensor2).size() torch.Size([10, 3, 5])
개요
파라 곱하여 torch.mul
이차원 행렬 곱셈 torch.mm
BATCH와의 2 차원 배열 torch.bmm
, 배치, 방송torch.matmul