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

津南做网站的公司全网整合营销推广方案

津南做网站的公司,全网整合营销推广方案,wordpress flush buffer,渝北网站建设公司在介绍完PyTorch中的广播运算后,继续为大家介绍PyTorch的内置数学运算: 首先对内置函数有一个功能印象,知道它的存在,使用时再查具体怎么用其次,我还会介绍PyTorch科学运算的注意事项与一些实用小技巧 1 基本数学运算…

在这里插入图片描述

在介绍完PyTorch中的广播运算后,继续为大家介绍PyTorch的内置数学运算:

  • 首先对内置函数有一个功能印象,知道它的存在,使用时再查具体怎么用
  • 其次,我还会介绍PyTorch科学运算的注意事项与一些实用小技巧

1 基本数学运算

函数功能
torch.add(t1,t2 )等效于t1+t2
torch.sub(t1,t2)等效于t1-t2
torch.mul(t1,t2)等效于t1*t2
torch.div(t1,t2)等效于t1/t2

2 进行数值调整

t = torch.randn(5)
t
# tensor([ 0.3806,  0.9064, -1.9179,  2.0816, -0.4153])

返回绝对值

torch.abs(t)
# tensor([0.3806, 0.9064, 1.9179, 2.0816, 0.4153])

返回相反数

torch.neg(t)
# tensor([-0.3806, -0.9064,  1.9179, -2.0816,  0.4153])

四舍五入

torch.round(t)
# tensor([ 0.,  1., -2.,  2., -0.])

向上取整

torch.ceil(t) 
# tensor([ 1.,  1., -1.,  3., -0.])

向下取整

torch.floor(t)
# tensor([ 0.,  0., -2.,  2., -1.])

:虽然此类型函数并不会对原对象进行调整,而是输出新的结果。

# t本身并未发生变化
t
# tensor([ 0.3806,  0.9064, -1.9179,  2.0816, -0.4153])

若要对原对象本身进行修改,可使用方法_()

# 使用方法_()
t.round_()
# tensor([ 0.,  1., -2.,  2., -0.])# 原对象也进行了改变
t
# tensor([ 0.,  1., -2.,  2., -0.])

3 常用科学计算

需要注意的有以下两点:

  • 因为张量能指定在CPU或者GPU上运行,因此tensor的大多数科学计算只能作用于tensor对象,而不能和Python对象混用
# 计算3的3次方
torch.pow(3, 3)
# TypeErrortorch.pow(torch.tensor(3), 3)
# tensor(27)
  • 由于会涉及GPU计算,所以对运算结果一般是小数的函数,要求函数只能输入浮点型张量,而不能是整型
t = torch.arange(1, 4)
t.dtype
# torch.int64
torch.exp(t)
# RuntimeErrortorch.exp(t.float())
# tensor([1.0000, 2.7183, 0.1353, 7.3891, 1.0000])

其他常用科学计算有:

数学运算函数数学公式功能
幂运算
torch.exp(t)$ y_{i} = e^{x_{i}} $返回以e为底、t中元素为幂的张量
torch.pow(t,n)$\text{out}_i = t ^ \text{n} $返回t的n次幂
torch.sqrt(t)$ \text{out} = \sqrt{\text{input}} $返回t的平方根
torch.square(t)$ \text{out}_i = x_i ^ \text{2} $返回输入的元素平方
对数运算
torch.log10(t)$ y_{i} = \log_{10} (x_{i}) $返回以10为底的t的对数
torch.log(t)$ y_{i} = \log_{e} (x_{i}) $返回以e为底的t的对数
torch.log2(t)$ y_{i} = \log_{2} (x_{i}) $返回以2为底的t的对数
torch.log1p(t)$ y_i = \log_{e} (x_i $ + 1)返回一个加自然对数的输入数组。
三角运算
torch.sin(t)正弦
torch.cos(t)余弦
torch.tan(t)正切

4 统计分析

此类计算是对某张量进行某种总结,最后得出一个具体总结值的函数。

函数功能
torch.mean(t)返回张量均值
torch.var(t)返回张量方差
torch.std(t)返回张量标准差
torch.var_mean(t)返回张量方差和均值
torch.std_mean(t)返回张量标准差和均值
torch.max(t)返回张量最大值
torch.argmax(t)返回张量最大值索引
torch.min(t)返回张量最小值
torch.argmin(t)返回张量最小值索引
torch.median(t)返回张量中位数
torch.sum(t)返回张量求和结果
torch.logsumexp(t)返回张量各元素求和结果,适用于数据量较小的情况
torch.prod(t)返回张量累乘结果
torch.dist(t1, t2)计算两个张量的闵式距离,可使用不同范式
torch.topk(t)返回t中最大的k个值对应的指标
  • 这里我们常用的距离公式dist(),为闵可夫斯基距离,通过输入不同的p值,可方便计算曼哈顿距离、欧拉距离:
# 输入float型
t1 = torch.tensor([1, 2, 3]).float()
t2 = torch.tensor([4, 5, 6]).float()# 计算曼哈顿距离
torch.dist(t1, t2, 1)
# tensor(9.)# 计算欧拉距离
torch.dist(t1, t2, 2)
# tensor(5.1962)
  • 统计分析是一个张量序列返回一个结果,因此若是针对高维张量,则可指定某维度进行计算:
# 创建一个3*3的二维张量
t2 = torch.arange(6).float().reshape(2, 3)
t2# 按照第一个维度求和(按列求和)
torch.sum(t2, dim = 0)
# tensor([3., 5., 7.])

理解为:按照第一个维度是行,所以将每行对应元素相加,就是按列求和。

这里一定要将dim参数和shape返回结果一一对应。不理解的同学可看

# 创建一个2*3*4的三维张量
t3 = torch.arange(24).float().reshape(2, 3, 4)
t3
# tensor([[[ 0.,  1.,  2.,  3.],
#          [ 4.,  5.,  6.,  7.],
#          [ 8.,  9., 10., 11.]],#         [[12., 13., 14., 15.],
#          [16., 17., 18., 19.],
#          [20., 21., 22., 23.]]])# 第一维度是代表几个二维矩阵,就是二维矩阵的对应位置相加
torch.sum(t3, dim = 0)
# tensor([[12., 14., 16., 18.],
#         [20., 22., 24., 26.],
#         [28., 30., 32., 34.]])# 第二个维度代表行,就是向量,每个二维矩阵中的向量对应位置相加
torch.sum(t3, dim = 1)
# tensor([[12., 15., 18., 21.],
#         [48., 51., 54., 57.]])# 第三个维度是列,就是零维张量,就是每个向量进行相加
torch.sum(t3, dim = 2)
# tensor([[ 6., 22., 38.],
#         [54., 70., 86.]])

这样理解维度是不是清晰明了?

5 比较运算

常用于不同张量之间的逻辑运算,最终返回布尔值。需要注意的是eq()equal()的区别。

t1 = torch.tensor([1.0, 2, 4])
t2 = torch.tensor([1.0, 2, 5])

比较各元素是否相等

torch.eq(t1, t2) 
# tensor([ True,  True, False])# 等效t1 == t2
t1 == t2
# tensor([ True,  True, False])

判断是否是相同的张量

torch.equal(t1, t2) 
# False

其它比较计算还有:

函数功能
torch.gt(t1, t2)比较t1各元素是否大于t2各元素,等效>
torch.lt(t1, t2)比较t1各元素是否小于t2各元素,等效<
torch.ge(t1, t2)比较t1各元素是否大于或等于t2各元素,等效>=
torch.le(t1, t2)比较t1各元素是否小于等于t2各元素,等效<=
torch.ne(t1, t2)比较t1、t2各元素是否不相同,等效!=

Pytorch张量操作大全:

Pytorch使用教学1-Tensor的创建
Pytorch使用教学2-Tensor的维度
Pytorch使用教学3-特殊张量的创建与类型转化
Pytorch使用教学4-张量的索引
Pytorch使用教学5-视图view与reshape的区别
Pytorch使用教学6-张量的分割与合并
Pytorch使用教学7-张量的广播
Pytorch使用教学8-张量的科学运算
Pytorch使用教学9-张量的线性代数运算
Pytorch使用教学10-张量操作方法大总结

有关Pytorch建模相关的AI干货请扫码关注公众号「AI有温度」阅读获取
在这里插入图片描述

http://www.wangmingla.cn/news/105874.html

相关文章:

  • 企业系统集成seo编辑是干什么的
  • 做网站如何更新百度快照电商网站如何避免客户信息泄露
  • seo教程seo入门讲解搜索引擎优化策略包括
  • 做搞笑图片的网站淘宝关键词排名查询工具
  • 网站的技术解决方案b2b电商平台有哪些
  • 长春网站建设yunbeiw磁力宝最佳搜索引擎入口
  • 给公司网站做seo的好处谷歌商店paypal官网下载
  • 做h5页面的网站他达拉非片和伟哥区别
  • 国际新闻最新消息中国武汉百度推广seo
  • 天使投资厦门谷歌seo公司
  • 河南省建设注册执业中心网站湖北百度关键词排名软件
  • 做快递单的网站会不会是骗人的江门seo网站推广
  • 已有域名 做网站网络推广的方式有哪些?
  • 企业网站租服务器口碑营销例子
  • 网站建设 甘肃seo优化团队
  • 北京厦门网站优化英文谷歌优化
  • 广州网站建设 骏域网站建设企业建站
  • 做网站优化费用常见的营销策略有哪些
  • 怎么注册公司微信衡阳网站优化公司
  • 建立网站三大基础时空seo助手
  • 独立ip做网站厦门seo优化外包公司
  • b2b网站推广附近的计算机培训班
  • 自己如何做网站推广企业官网首页设计
  • 武汉网站制作谁家好百度竞价推广运营
  • h5可以来做网站吗上海网站搜索排名优化哪家好
  • 网站首页上的动画是咋做的百度关键词挖掘
  • 自建房设计图软件appseo推广平台服务
  • 做网站搞活动百度电视剧风云榜
  • 做网站获取ip百度seo搜索引擎优化培训
  • 怎么制作视频模板seo网站是什么意思