day16 BLAS/LAPACK 操作2 入门 一起学 PyTorch吧,PyTorch从入门开始 每天都更新 超详细 参数 常用方法 简单案列 共同学习,共同进步 坚持

torch . baddbmm(beta =1 , mat, alpha =1 , batch1, batch2, out = None ) --> Tensor :对两个批 batch1 batch2 内存储的矩阵进行批矩阵乘操作,矩阵 mat 加到最终结果。batch1 batch2 都为包含相同数量矩阵的 3 维张量。如果 batch1 是形为b × n × m 的张量, batch1 是形为 b × m × p 的张量,则 out mat 的形状都是 n × p即resi = ( beta · Mi ) + ( al pha · batch 1 i × batch 2 i)) 对类型为 _FloatTensor_ 或_DoubleTensor的输入,alphaand beta 必须为实数,否则两个参数须为整数。
参数:
        --beta (Number, optional) :用于 mat 的乘子
        --mat (Tensor) :相加矩阵
        --alpha (Number, optional) :用于 batch1@batch2 的乘子
        --batch1 (Tensor) :第一批相乘矩阵
        --batch2 (Tensor) :第二批相乘矩阵
        --out (Tensor, optional) :输出张量
例子:
>>> M = torch.randn(10, 3, 5)
>>> batch1 = torch.randn(10, 3, 4)
>>> batch2 = torch.randn(10, 4, 5)
>>> torch.baddbmm(M, batch1, batch2).size()
torch.Size([10, 3, 5])
torch . bmm(batch1, batch2, out = None ) --> Tensor :对存储在两个批 batch1 batch2 内的矩阵进行批矩阵乘操作。batch1 batch2 都为包含相同数量矩阵的 3 维张量。如果 batch1 是形为 b × n × m 的张量, batch1 是形为 b × m × p 的张量,则 out和 mat 的形状都是 n × p ,即 res = ( beta · M ) + ( al pha · sum ( batch 1 i @ batch 2 i , i = 0 , b))对类型为 FloatTensor DoubleTensor 的输入,
alpha beta 必须为实数,否则两个 参数须为整数。
参数:
        -- batch1 (Tensor) :第一批相乘矩阵
        --batch2 (Tensor) :第二批相乘矩阵
        --out (Tensor, optional) :输出张量
例子:
>>> batch1 = torch.randn(10, 3, 4)
>>> batch2 = torch.randn(10, 4, 5)
>>> res = torch.bmm(batch1, batch2)
>>> res.size()
torch.Size([10, 3, 5])
torch . btrifact(A, info = None ) --> Tensor, IntTensor :返回一个元祖,包含 LU 分解和 pivots 。可选参数 info 决定是否对每个 minibatch 样本进行分解。infoare from dgetrf and a non-zero value indicates an error occurred. 如果用 CUDA 的 话,这个值来自于 CUBLAS ,否则来自 LAPACK
参数:
        --A (Tensor) :待分解张量
例子:
>>> A = torch.randn(2, 3, 3)
>>> A_LU = A.btrifact()
torch . btrisolve(b, LU_data, LU_pivots) --> Tensor :返回线性方程组Ax = b LU 解。
参数:
        -- b (Tensor) RHS 张量
        --LU_data (Tensor) Pivoted LU factorization of A from btrifact.
        --LU_pivots (IntTensor) LU 分解的 Pivots.
例子:
>>> A = torch.randn(2, 3, 3)
>>> b = torch.randn(2, 3)
>>> A_LU = torch.btrifact(A)
>>> x = b.btrisolve(*A_LU)
>>> torch.norm(A.bmm(x.unsqueeze(2)) - b)
6.664001874625056e-08
torch . dot(tensor1, tensor2) --> float :计算两个张量的点乘 ( 内乘 ), 两个张量都为 1-D 向量 .
例子:
>>> torch.dot(torch.Tensor([2, 3]), torch.Tensor([2, 1]))
7.0
torch . eig(a, eigenvectors = False , out = None ) -> (Tensor, Tensor) :计算实方阵 a 的特征值和特征向量。
参数:
        --a (Tensor) :方阵,待计算其特征值和特征向
        --eigenvectors (bool) :布尔值,如果 True,则同时计算特征值和特征向量,否则只计算特征值。
        --out (tuple, optional) :输出元组
        --返回值:元组,包括:
                 * e (Tensor) a 的右特征向量
                * v (Tensor) :如果 eigenvectors True ,则为包含特征向量的张量 ; 否则为 空张量
         返回值类型: (Tensor, Tensor)
torch . gels(B, A, out = None ) --> Tensor :对形如 m × n 的满秩矩阵 a 计算其最小二乘和最小范数问题的解。如果 m n ,gels 对最小二乘问题进行求解,即:minimize AX B F 如果 m < n ,gels 求解最小范数问题,即: minimize X F sub jectto a b AX = B 返回矩阵 X 的前 n 行包含解。余下的行包含以下残差信息:相应列从第 n 行开始计 算的每列的欧式距离。
        返回矩阵总是被转置,无论输入矩阵的原始布局如何,总会被转置;即,总是有 stride (1, m) 而不是 (m, 1)
参数:
        --B (Tensor) :矩阵 B
        -- A (Tensor) m × n 矩阵
        --out (tuple, optional) :输出元组
        --返回值:元组,包括:
        -- X (Tensor) :最小二乘解
        --qr (Tensor) QR 分解的细节
        --返回值类型: (Tensor, Tensor)
例子:
>>> A = torch.Tensor([[1, 1, 1],
... [2, 3, 4],
... [3, 5, 2],
... [4, 2, 5],
... [5, 4, 3]])
>>> B = torch.Tensor([[-10, -3], [ 12, 14], [ 14, 12], [ 16, 16], [ 18, 16]])
>>> X, _ = torch.gels(B, A)
>>> X
2.0000 1.0000
1.0000 1.0000
1.0000 2.0000
[torch.FloatTensor of size 3x2]

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值