本文簡要介紹python語言中 torch.sparse.mm
的用法。
用法:
torch.sparse.mm(mat1, mat2)
mat1(SparseTensor) -第一個要相乘的稀疏矩陣
mat2(Tensor) -要相乘的第二個矩陣,可以是稀疏的或密集的
執行稀疏矩陣
mat1
和(稀疏或跨步)矩陣mat2
的矩陣乘法。與torch.mm()
類似,如果mat1
是 張量,mat2
是 張量,則 out 將是 張量。mat1
需要有sparse_dim = 2
。此函數還支持兩個矩陣的後向。請注意,mat1
的梯度是一個合並的稀疏張量。- 形狀:
該函數的輸出張量格式如下: - 稀疏 x 稀疏 -> 稀疏 - 稀疏 x 密集 -> 密集
例子:
>>> a = torch.randn(2, 3).to_sparse().requires_grad_(True) >>> a tensor(indices=tensor([[0, 0, 0, 1, 1, 1], [0, 1, 2, 0, 1, 2]]), values=tensor([ 1.5901, 0.0183, -0.6146, 1.8061, -0.0112, 0.6302]), size=(2, 3), nnz=6, layout=torch.sparse_coo, requires_grad=True) >>> b = torch.randn(3, 2, requires_grad=True) >>> b tensor([[-0.6479, 0.7874], [-1.2056, 0.5641], [-1.1716, -0.9923]], requires_grad=True) >>> y = torch.sparse.mm(a, b) >>> y tensor([[-0.3323, 1.8723], [-1.8951, 0.7904]], grad_fn=<SparseAddmmBackward>) >>> y.sum().backward() >>> a.grad tensor(indices=tensor([[0, 0, 0, 1, 1, 1], [0, 1, 2, 0, 1, 2]]), values=tensor([ 0.1394, -0.6415, -2.1639, 0.1394, -0.6415, -2.1639]), size=(2, 3), nnz=6, layout=torch.sparse_coo)
參數:
相關用法
- Python PyTorch monitored_barrier用法及代碼示例
- Python PyTorch mean用法及代碼示例
- Python PyTorch multinomial用法及代碼示例
- Python PyTorch meshgrid用法及代碼示例
- Python PyTorch matrix_rank用法及代碼示例
- Python PyTorch mv用法及代碼示例
- Python PyTorch min用法及代碼示例
- Python PyTorch max用法及代碼示例
- Python PyTorch msort用法及代碼示例
- Python PyTorch mode用法及代碼示例
- Python PyTorch movedim用法及代碼示例
- Python PyTorch matrix_exp用法及代碼示例
- Python PyTorch matmul用法及代碼示例
- Python PyTorch matrix_power用法及代碼示例
- Python PyTorch maximum用法及代碼示例
- Python PyTorch masked_select用法及代碼示例
- Python PyTorch maskrcnn_resnet50_fpn用法及代碼示例
- Python PyTorch minimum用法及代碼示例
- Python PyTorch multi_dot用法及代碼示例
- Python PyTorch mul用法及代碼示例
- Python PyTorch movielens_25m用法及代碼示例
- Python PyTorch matrix_norm用法及代碼示例
- Python PyTorch multigammaln用法及代碼示例
- Python PyTorch movielens_20m用法及代碼示例
- Python PyTorch moveaxis用法及代碼示例
注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.sparse.mm。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。