Pytorch学习系列之矩阵运算

Pytorch矩阵运算

此文章随着博主的学习而持续更新

主要是总结在阅读代码时遇到的tensor计算问题

对角矩阵

获取矩阵对角元素

x = torch.randn(3, 3)
y = torch.diagonal(x)
print(y)

"""
tensor([[ 0.7220, -1.8137,  0.5217],
        [ 0.5010, -0.0773,  0.4702],
        [ 0.3320,  0.0329,  1.1394]])
        
tensor([ 0.7220, -0.0773,  1.1394])
"""

获取矩阵非对角元素

原理

假设一个n*n矩阵,这里下标从1开始, k k k表示第k行

则对角元素的小标位置为
( k − 1 ) n + k (k-1)n+k (k1)n+k
将n*n转换为(n-1)(n+1)时,会损失最后一个元素,即最后一个对角矩阵元素

将(1)式除以新矩阵的列数(n+1),余数为1,说明原矩阵对角元素位于新矩阵第一列的位置

x = torch.randn(3, 3)
y = x.flatten()[:-1].view(n - 1, n + 1)[:, 1:].flatten()
print(y)

"""
tensor([[-1.1656, -1.6680, -0.5478],
        [-0.6240,  1.7954, -0.2933],
        [-0.1587,  0.7560,  0.9796]])
        
tensor([-1.6680, -0.5478, -0.6240, -0.2933, -0.1587,  0.7560])
"""
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyTorch是一个用于深度学习的开源机器学习框架。它提供了丰富的工具和库,使得构建和训练神经网络变得更加容易。PyTorch的设计理念是简单易用,同时也提供了灵活性和高性能。它基于张量(Tensor)这一数据结构进行计算,张量是PyTorch中进行数据存储和运算的基本单元。 PyTorch中的深度学习主要依赖于神经网络模型。神经网络模型是由多个层组成的,每一层都包含一些可学习的参数。通过输入数据将数据在各个层之间传递,并在每一层中进行计算和优化,最终得到输出结果。 在PyTorch中,我们可以使用torch.Tensor()方法来创建张量。张量可以是任意维度的,例如标量、向量、矩阵等。我们可以使用torch.zeros()、torch.ones()、torch.rand()等方法来快速创建不同形状和数值的张量。此外,PyTorch还提供了autograd功能,可以自动计算梯度,对于深度学习的反向传播过程非常有用。 总结来说,PyTorch是一个用于深度学习的框架,它基于张量进行计算,并提供了丰富的工具和库来构建和训练神经网络模型。通过PyTorch,我们可以轻松地实现深度学习算法并进行模型训练。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [PyTorch深度学习入门 || 系列(一)](https://blog.csdn.net/weixin_42521185/article/details/123627282)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值