文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

深度学习Pytorch框架Tensor张量

2024-12-02 18:01

关注

 1 Tensor的裁剪运算

2 Tensor的索引与数据筛选

  1. import torch  
  2. #torch.where  
  3. a = torch.rand(4, 4)  
  4. b = torch.rand(4, 4)  
  5. print(a)  
  6. print(b)  
  7. out = torch.where(a > 0.5, a, b)  
  8. print(out) 

 

  1. print("torch.index_select")  
  2. a = torch.rand(4, 4)  
  3. print(a)  
  4. out = torch.index_select(a, dim=0 
  5.                    index=torch.tensor([0, 3, 2]))  
  6. #dim=0按列,index取的是行  
  7. print(out, out.shape) 

 

  1. print("torch.gather")  
  2. a = torch.linspace(1, 16, 16).view(4, 4)  
  3. print(a)  
  4. out = torch.gather(a, dim=0 
  5.              index=torch.tensor([[0, 1, 1, 1],  
  6.                                  [0, 1, 2, 2],  
  7.                                  [0, 1, 3, 3]]))  
  8. print(out)  
  9. print(out.shape)  
  10. #注:从0开始,第0列的第0个,第一列的第1个,第二列的第1个,第三列的第1个,,,以此类推  
  11. #dim=0, out[i, j, k] = input[index[i, j, k], j, k]  
  12. #dim=1, out[i, j, k] = input[i, index[i, j, k], k] 
  13. #dim=2, out[i, j, k] = input[i, j, index[i, j, k]] 

 

  1. print("torch.masked_index")  
  2. a = torch.linspace(1, 16, 16).view(4, 4)  
  3. mask = torch.gt(a, 8)  
  4. print(a)  
  5. print(mask)  
  6. out = torch.masked_select(a, mask)  
  7. print(out) 

 

  1. print("torch.take")  
  2. a = torch.linspace(1, 16, 16).view(4, 4)  
  3. b = torch.take(a, index=torch.tensor([0, 15, 13, 10]))  
  4. print(b) 

 

  1. #torch.nonzero  
  2. print("torch.take")  
  3. a = torch.tensor([[0, 1, 2, 0], [2, 3, 0, 1]])  
  4. out = torch.nonzero(a)  
  5. print(out)  
  6. #稀疏表示 

3 Tensor的组合/拼接

  1. print("torch.stack")  
  2. a = torch.linspace(1, 6, 6).view(2, 3)  
  3. b = torch.linspace(7, 12, 6).view(2, 3)  
  4. print(a, b)  
  5. out = torch.stack((a, b), dim=2 
  6. print(out)  
  7. print(out.shape)  
  8. print(out[:, :, 0])  
  9. print(out[:, :, 1]) 

4 Tensor的切片

5 Tensor的变形操作

  1. import torch  
  2. a = torch.rand(2, 3)  
  3. print(a)  
  4. out = torch.reshape(a, (3, 2))  
  5. print(out) 

 

  1. print(a)  
  2. print(torch.flip(a, dims=[2, 1]))  
  3. print(a)  
  4. print(a.shape)  
  5. out = torch.rot90(a, -1, dims=[0, 2]) #顺时针旋转90°    
  6. print(out)  
  7. print(out.shape) 

6 Tensor的填充操作

7 Tensor的频谱操作(傅里叶变换)

 

 

来源:深度学习这件小事内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯