当前位置: 首页 > news >正文

理财网站模版杭州seook优屏网络

理财网站模版,杭州seook优屏网络,wordpress 调用文章内容,wordpress app 接口目录 1. reshape 函数的用法 2. transpose 和 permute 函数的使用 4. squeeze 和 unsqueeze 函数的用法 5. 小节 个人主页:Icomi 专栏地址:PyTorch入门 在深度学习蓬勃发展的当下,PyTorch 是不可或缺的工具。它作为强大的深度学习框架&am…

       

目录

1. reshape 函数的用法

2. transpose 和 permute 函数的使用

4. squeeze 和 unsqueeze 函数的用法

5. 小节


个人主页:Icomi

专栏地址:PyTorch入门

在深度学习蓬勃发展的当下,PyTorch 是不可或缺的工具。它作为强大的深度学习框架,为构建和训练神经网络提供了高效且灵活的平台。神经网络作为人工智能的核心技术,能够处理复杂的数据模式。通过 PyTorch,我们可以轻松搭建各类神经网络模型,实现从基础到高级的人工智能应用。接下来,就让我们一同走进 PyTorch 的世界,探索神经网络与人工智能的奥秘。本系列为PyTorch入门文章,若各位大佬想持续跟进,欢迎与我交流互关。

         咱们已经学习了张量的花式索引操作,它就像一把精巧的工具,让我们能够在数据的 “宝藏库” 里精准地提取和修改信息。我们接下来要学习—— 掌握对张量形状的操作。

        想象一下,我们即将搭建的网络模型就像一座宏伟而复杂的建筑,而数据则是构建这座建筑的基石。这些数据在我们的深度学习世界里,都是以张量的形式存在。在这座 “建筑” 中,不同的楼层(网络层)有着不同的功能和设计,它们之间的数据传递和运算就如同建筑中不同楼层之间的物资运输和协作。

        每一层网络对数据的处理方式都不尽相同,这就导致数据在网络层与层之间流动时,会以不同的形状(shape)进行表现和运算。比如说,有的层可能接收的是二维的张量数据,经过处理后输出一个三维的张量,就像把方形的积木经过加工变成了一个立体的模型

        如果我们不掌握对张量形状的操作,就好比一个建筑工人不熟悉不同建筑材料的尺寸和拼接方式,那么在搭建这座 “网络建筑” 时,各层之间的数据连接就会出现问题,就像积木无法正确拼接,最终导致整个建筑摇摇欲坠。

        为了能够更好地处理网络各层之间的数据连接,顺利搭建出稳固而强大的网络模型,掌握对张量形状的操作就显得尤为重要。接下来,我们就一同深入学习如何巧妙地调整和管理张量的形状,让我们在深度学习的建筑之路上稳步前行。

1. reshape 函数的用法

reshape 函数可以在保证张量数据不变的前提下改变数据的维度,将其转换成指定的形状,在后面的神经网络学习时,会经常使用该函数来调节数据的形状,以适配不同网络层之间的数据传递。

import torch
import numpy as npdef tensor_shape_operations():# 创建一个二维张量tensor = torch.tensor([[10, 20, 30], [40, 50, 60]])# 1. 使用 shape 属性或者 size 方法都可以获得张量的形状print(f"使用 shape 属性获取的形状: {tensor.shape},第 0 维大小: {tensor.shape[0]},第 1 维大小: {tensor.shape[1]}")print(f"使用 size 方法获取的形状: {tensor.size()},第 0 维大小: {tensor.size(0)},第 1 维大小: {tensor.size(1)}")# 2. 使用 reshape 函数修改张量形状reshaped_tensor = tensor.reshape(1, 6)print(f"修改形状后的张量形状: {reshaped_tensor.shape}")if __name__ == '__main__':tensor_shape_operations()

需要注意的是,转换前后的两个形状元素个数要相同

import torchdef test():torch.manual_seed(0)data = torch.randint(0, 10, [4, 5])# 查看张量的形状print(data.shape, data.shape[0], data.shape[1])print(data.size(), data.size(0), data.size(1))# 修改张量的形状new_data = data.reshape(2, 10)print(new_data)# 注意: 转换之后的形状元素个数得等于原来张量的元素个数# new_data = data.reshape(1, 10)# print(new_data)# 使用-1代替省略的形状new_data = data.reshape(5, -1)print(new_data)new_data = data.reshape(-1, 2)print(new_data)if __name__ == '__main__':test()

2. transpose 和 permute 函数的使用

transpose 函数可以实现交换张量形状的指定维度, 例如: 一个张量的形状为 (2, 3, 4) 可以通过 transpose 函数把 3 和 4 进行交换, 将张量的形状变为 (2, 4, 3)

permute 函数可以一次交换更多的维度。

import torch
import numpy as npdef test():data = torch.tensor(np.random.randint(0, 10, [3, 4, 5]))print('data shape:', data.size())# 1. 交换1和2维度new_data = torch.transpose(data, 1, 2)print('data shape:', new_data.size())# 2. 将 data 的形状修改为 (4, 5, 3)new_data = torch.transpose(data, 0, 1)new_data = torch.transpose(new_data, 1, 2)print('new_data shape:', new_data.size())# 3. 使用 permute 函数将形状修改为 (4, 5, 3)new_data = torch.permute(data, [1, 2, 0])print('new_data shape:', new_data.size())if __name__ == '__main__':test()

4. squeeze 和 unsqueeze 函数的用法

squeeze 函数用删除 shape 为 1 的维度,unsqueeze 在每个维度添加 1, 以增加数据的形状

import torch
import numpy as npdef test():data = torch.tensor(np.random.randint(0, 10, [1, 3, 1, 5]))print('data shape:', data.size())# 1. 去掉值为1的维度new_data = data.squeeze()print('new_data shape:', new_data.size())  # torch.Size([3, 5])# 2. 去掉指定位置为1的维度,注意: 如果指定位置不是1则不删除new_data = data.squeeze(2)print('new_data shape:', new_data.size())  # torch.Size([3, 5])# 3. 在2维度增加一个维度new_data = data.unsqueeze(-1)print('new_data shape:', new_data.size())  # torch.Size([3, 1, 5, 1])if __name__ == '__main__':test()

5. 小节

本小节我们学习了经常使用的关于张量形状的操作,我们用到的主要函数有:

  1. reshape 函数可以在保证张量数据不变的前提下改变数据的维度.
  2. transpose 函数可以实现交换张量形状的指定维度, permute 可以一次交换更多的维度.
  3. view 函数也可以用于修改张量的形状, 但是它要求被转换的张量内存必须连续,所以一般配合 contiguous 函数使用.
  4. squeeze 和 unsqueeze 函数可以用来增加或者减少维度.
http://www.yayakq.cn/news/769747/

相关文章:

  • 深圳送花网站哪个好网络运维工作内容及过程
  • 浅谈企业网站建设的目标宁波网站建设相信荣胜网络
  • 中卫网站设计在哪里网络服务商能删除网站
  • 创建软件网站公司网页怎么修改
  • 1280的界面网站做多宽新网站快速收录
  • 横琴新区公共建设局网站了解深圳网站页面设计
  • 浙江建设网站是多少为什么说能进中交不进中建
  • 冠县品牌网站建设推广一个人建设小型网站
  • 网站建设z上海网站建设 推荐站霸网络
  • 汽车4s店网站建设方案百度问问
  • 做网站充值犯法吗谷歌seo怎么做
  • 模仿网站页面违法吗网页发布的步骤
  • 网站建设存在问题安徽省建设信息网
  • 网站建设相关费用预算推广自己建个购物网站
  • 免费下载app软件网站中国传统文化网页设计
  • 霸州 网络 网站建设动画设计学校
  • 贵阳网站上门备案业务电子商务网站建设主管的策划案
  • aws的永久免费服务网站优化怎么做效果才好
  • 杭州网站建设宣盟网络免费的个人简历ppt模板
  • 成都网站建设福州南昌建站价格
  • 网站做中英版腾讯网站建设推广
  • 有什么做海报的网站吗上海建筑工程股份有限公司
  • 数据库修改网站后台密码自己做的网站打不开了
  • 在柬埔寨做网站开发室内设计效果图制作软件
  • 镇江高端网站定制广州住建网站
  • 华为云建站怎么样江阴网站优化
  • 创想网站中国建设人才网官网证书查询
  • 网站建设需要做哪些工作wordpress网站换域名
  • 北京做网站哪个好徐东做网站
  • 网站怎么做可以被收录佛山电子商务网站设计