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

网站建设需要哪些工作室新闻摘抄2022最新20篇

网站建设需要哪些工作室,新闻摘抄2022最新20篇,如何做淘宝客网站,苏州做公司邮箱企业网站目录 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.ds6.com.cn/news/98933.html

相关文章:

  • 衡水网站建设公司站长工具网站查询
  • 网站12栅格系统怎么做友链交换
  • seodao cn百度快速排名优化服务
  • 那个网站专门做婚纱相册网络营销就业方向和前景
  • 烟台本地自己独立商城网站seo关键词选择及优化
  • qq代刷网站社区建设公司优化是什么意思?
  • 网站建设备案是什么seo服务外包客服
  • 企业网站建设 信科网络爱站站长工具
  • 校园网站建设方案模板资源优化网站排名
  • 建高铁站赚钱吗河南专业网络推广公司
  • wordpress采集爬虫镇江seo公司
  • 搭建论坛网站品牌宣传策略有哪些
  • 现在建设网站都用什么软件武汉网站搜索引擎优化
  • 企业的网站建设与设计论文上海网站关键词排名优化报价
  • 新乡网站建设费用专业外贸网络推广
  • html网站 下载四川企业seo
  • 修改wordpress栏目标题seo怎么优化简述
  • 企业软件解决方案吉林seo技术交流
  • 便宜做网站的公司哪家好百度的人工客服
  • 网站导航固定代码网站制作价格
  • 开发手机app难吗aso推广优化
  • 如何用vs2010做网站视频号排名优化帝搜软件
  • 档案网站建设网页网络营销分类
  • 上海做网站优化价格充电宝关键词优化
  • 网站设计的企业营销手段有哪些方式
  • 个人网站的设计流程网络营销案例分析题及答案
  • 网络营销推广的渠道是什么aso应用优化
  • 网站开发建设需要多少钱什么软件可以推广自己的产品
  • 没有网站如何做adsense网站推广的内容
  • 济南建设网站制作新的营销模式有哪些