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

怀柔网站制作网搜网

怀柔网站制作,网搜网,做趣步这样的网站需要多少钱,公关公司排名2020【1】引言 pytorch是深度学习常用的包,顾名思义,就是python适用的torch包,在python里面使用时直接import torch就可以调用。 需要注意的是,pytorch包与电脑配置、python版本有很大关系,一定要仔细阅读安装要求、找到…

【1】引言

pytorch是深度学习常用的包,顾名思义,就是python适用的torch包,在python里面使用时直接import torch就可以调用。

需要注意的是,pytorch包与电脑配置、python版本有很大关系,一定要仔细阅读安装要求、找到教程后再安装。由于已经有很多详细指导教程,这里就不再班门弄斧。

本文的写作目的是记录pytorch的基本运算、以备不时之需,欢迎大家一起学习和讨论。

大家也可以到pytorch的官网教程地址自主学习:Learning PyTorch with Examples — PyTorch Tutorials 2.7.0+cu126 documentation

【2】基本运算

【2.1】导入包

导入包的操作非常简单,和其他包的导入一模一样:

# 导入包
import torch

【2.2】生成随机张量

pytorch支持生成随机张量,和numpy包的操作一样,代码:

# 导入包
import torch
# 定义随机量
x=torch.randn(3,4)
# 打印
print(x)

这里定义了一个3行4列且符合标准正态分布的随机矩阵,运算后的结果为:

图1 torch.randn(3,4) 

关于torch.randn()函数的说明,可以通过官网教程进一步加深理解:

torch.randn — PyTorch 2.7 documentation

torch.randn(*size, *, generator=None, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False, pin_memory=False) → Tensor

torch.randn()函数的 具体参数:

  • size,随机数矩阵/张量的行列尺寸
  • generator=None,随机数生成器,一般无需设置
  • out=None,输出张量,默认为没有,一般无需设置
  • dtype=None,生成随机数矩阵/张量的数据类型,一般无需设置,会默认跟随全局数据类型自动调整
  • layout=torch.strided,输出矩阵/张量的布局形式,一般默认即可,都是大家熟悉的矩阵样式
  • device=None,和电脑配置相关,一般无需设置
  • requires_grad=False,grad是求导操作,只要要求导的时候才会用
  • pin_memory=False,在内存中给张量分配空间,仅适用CPU张量,一般无需设置

【2.3】生成多维张量

pytorch支持生成多维张量,代码:

# 导入包
import torch
# 生成多为维张量
y=torch.tensor([[1,2,3,4],[5,6,7,8],[1,3,5,7]])
#打印
print('y=',y)
# 生成空张量
z=torch.tensor([])
#打印
print('z=',z)

这里只调用了一个函数torch.tensor(),在函数中使用方括号“[]”可以直接定义张量,运算后的结果为:

 图2 torch.tensor([]

关于torch.tensor()函数的说明,可以通过官网教程进一步加深理解:

torch.tensor — PyTorch 2.7 documentation

torch.tensor(data, *, dtype=None, device=None, requires_grad=False, pin_memory=False) → Tensor 

torch.tensor()函数的 具体参数:

  • data,张量的初始数据。可以是列表、元组、NumPy ndarray、标量和其他类型
  • dtype=None,生成随机数矩阵/张量的数据类型,一般无需设置,会默认跟随全局数据类型自动调整
  • device=None,和电脑配置相关,一般无需设置
  • requires_grad=False,grad是求导操作,只要要求导的时候才会用
  • pin_memory=False,在内存中给张量分配空间,仅适用CPU张量,一般无需设置

【2.4】张量变形

pytorch支持张量变形运算,代码:

# 导入包
import torch
# 生成多为维张量
y=torch.tensor([[1,2,3,4],[5,6,7,8],[1,3,5,7]])
#打印
print('y=',y)
# 变形
y=y.reshape(2,6)
# 打印
print('y=',y)

这里只调用了一个函数reshape(),原始张量是3行4列,reshape之后变化成2行6列,运算后的结果为:

 图3 reshape()

这里使用的reshape()函数是通过张量加点的形式直接调用,torch包也允许通过torch.reshape()的形式进行变形,官网链接为:

torch.reshape — PyTorch 2.7 documentation

这里的调用形式为:

torch.reshape(input, shape) → Tensor

 input,待变形的张量

shape,张量变形后的尺寸

可以依据这个形式重写上述代码,最后运行效果一样:

# 导入包
import torch
# 生成多为维张量
y=torch.tensor([[1,2,3,4],[5,6,7,8],[1,3,5,7]])
#打印
print('y=',y)
# 变形
y=torch.reshape(y,(2,6))
# 打印
print('y=',y)

【2.5】张量加减

pytorch支持不同张量在同一位置进行加减运算,代码:

import torch
# 生成多为维张量
a=torch.tensor([[1,2,3,4],[5,6,7,8],[1,3,5,7]])
b=torch.tensor([[1,2,2,3],[5,6,2,8],[1,3,8,7]])
# 打印
print('a',a)
print('b',b)
# 张量加减法
y=a+b
z=a-b
# 打印
print(y)
print(z)

代码运行后:

  图4 加减法

张量加减是在同一位置上进行的,需要提前准备好各个位置上的元素。

如果两个张量大小不一致,pytorch也能进行加减运算,这就是广播机制。

【2.6】张量广播运算 

pytorch支持张量广播运算,代码:

# 导入包
import torch
# 生成多为维张量
y=torch.tensor([1,2,3])
z=torch.tensor([[3],[2],[1]
])
#打印
print('y=',y)
print('z=',z)
# 
a=y+z
print('a=',a)

代码非常清楚,y是行向量,z是列向量,这两个张量形式上完全不一样,所以直接看运算效果来反推pytorch是如何广播的:

 图5 广播-加法

计算结果表明,行向量y按照行广播,列向量z按照列广播,广播后变成同等大小的张量,然后对相同位置的各个元素进行叠加。

可以使用以下代码测试:

# 导入包
import torch
# 生成多为维张量
y=torch.tensor([[1,2,3],[1,2,3],[1,2,3]])
z=torch.tensor([[3,3,3],[2,2,2],[1,1,1]
])
#打印
print('y=',y)
print('z=',z)
#
a=y+z
print('a=',a)

代码运行效果:

 图6 加法 

对比图5和图6,运算效果一致。

在张量尺寸大小不一致时,pytorch进行加减法运算时自动执行广播运算,在保证两个张量外形尺寸一致后,再对同一位置的元素进行加减运算。

【3】总结

探索了部分pytorch的基本运算。 

http://www.dtcms.com/wzjs/496905.html

相关文章:

  • 培训网站建设方案书福州百度seo
  • 高端建站需要什么条件专业seo网站优化推广排名教程
  • 做网站办公室图片青岛关键词排名系统
  • 三亚网站设计公司sem运营是什么意思
  • 博物馆门户网站建设目标长沙网站建设公司
  • 永嘉移动网站建设公司百度一下打开网页
  • 不让网站开发公司进入后台百度信息流效果怎么样
  • 外贸多语言网站建设推广会员营销
  • 特效网站模板如何开发微信小程序
  • 厦门网络公司网站虎门今日头条新闻
  • 多用户网站制作seo应该怎么做
  • 网站301重定向的意义经典软文案例100例
  • 做内贸在哪些网站上找客户哪里有竞价推广托管
  • 网站页面设计培训班温州免费建站模板
  • 描述优化方法站外seo是什么
  • 网站地图的形式seo模拟点击软件
  • net framework可以用来做网站吗企业邮箱登录入口
  • 网站建设怎么找到客户百度seo营销推广
  • wordpress+5.0东莞seo黑帽培训
  • 怎样在阿里巴巴上做网站线上推广的公司
  • 不断完善档案网站建设常州网站建设制作
  • 做公司网站棋牌百度怎么搜索图片
  • 谢岗镇网站建设自建网站平台有哪些
  • 薛城做网站上海今天最新新闻10条
  • 全屏 网站 代码网络推广方式有哪几种
  • 论坛网站模板div css百度搜索引擎竞价排名
  • 黄山高端网站建设seo教程自学入门教材
  • 中交建设集团网站新闻账户竞价托管费用
  • 鄂州网站设计效果向日葵seo
  • 广州建站客服招聘seo 优化思路