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

魅族的网站建设与安全seo快速排名关键词

魅族的网站建设与安全,seo快速排名关键词,山西并州建设有限公司,网站建设亿玛酷可靠5学习之前:先了解 Tensor(张量) 官方文档的解释是: 张量如同数组和矩阵一样, 是一种特殊的数据结构。在PyTorch中, 神经网络的输入、输出以及网络的参数等数据, 都是使用张量来进行描述。 说白了就是一种数据结构 基本数据类型…

学习之前:先了解 Tensor(张量)

官方文档的解释是:

张量如同数组和矩阵一样, 是一种特殊的数据结构。在PyTorch中, 神经网络的输入、输出以及网络的参数等数据, 都是使用张量来进行描述。

说白了就是一种数据结构

基本数据类型

Java 与 Pytorch 基本数据类型类比:

JavaPytorch (所有都是 Tensor)
byteByteTensor of size()
shortShortTensor of size()
charCharensor of size()
intIntTensor of size()
longLongTensor of size()
floatFloatTensor of size()
doubleDoubleTensor of size()

Pytorch 并没有 string 这种类型,但可以通过 one-hot 编码,以及一些内置的处理库,如 Word2vec 来表示。这块先有个概念,了解即可。

数组的表示形如:IntTensor of size[d1, d2, ...],FloatTensor of size[d1, d2, ...] ...

Pytorch 具体的类型如下图:

Pytorch 数据类型在 CPU 和 GPU 运行上有些差别,在 GPU 注意加上 cuda

类型检查

Pytorch 提供了以下几种类型检查与判断的方法,举例来说:

import torch
x=torch.rand(5,3)   // 随机生成一个 5 行 4 列的 tensor 变量
print(x.type())
print(type(x))
result = isinstance(x, torch.FloatTensor)
print(result)// 执行结果
torch.FloatTensor
<class 'torch.Tensor'>
True

执行结果如下:

方法结果
x.type()torch.FloatTensor,返回当前这个变量具体的数据类型
type(x)<class 'torch.Tensor'>,返回当前这个变量的类型
isinstance(x, torch.FloatTensor)True,数据类型比较,这里改成 FloatTensor 的父类 torch.Tensor 也是返回 True

如下图:Tensor 的实现类有以下好几种。

维度(dimension)

Tensor 的维度,可通过以下方法来计算:

# 创建个具体数据的 Tensor dim = 0
a = torch.tensor(1)     
print(a.shape)        
print(a.size())
print(a.dim())
print(len(a.shape))
print(len(a.size()))//输出结果:
torch.Size([])
torch.Size([])
0
0
0

shape 属性:是描述 Tensor 的形状

size() 方法:和 shape 属性一样,只是这是方法

dim() 方法:直接获取维度的数值,也可通过 len(a.shape) 和 len(a.size()) 方法来获取

维度的理解一定是要结合实际的意义来,这样会更容易理解。

零维度 Tensor

如上代码,就是零维度,实际使用场景:loss 损失函数,返回的就是个 0 维标量,表示数据大小

Pytorch 中需要表示数据大小的,都是使用零维度

1 维度 Tensor

b = torch.tensor([5, 4])
print(b)
print(b.shape)
print(b.size())
print(b.dim())//输出结果
tensor([5, 4])
torch.Size([2])
torch.Size([2])
1

可以理解为是一个 1 行 2 列的矩阵。

b.size() 返回的 torch.Size([2]),表示的就是只有 1 行 2 列的结构

实际使用的场景是:Bias(偏置函数)、线性输入

2 维度 Tensor

c = torch.rand(2, 3)
print(c)
print(c.size())
print(c.size(0))
print(c.size(1))
print(c.dim())//输出结果
tensor([[0.5755, 0.1844, 0.1174],[0.8228, 0.8758, 0.1008]])
torch.Size([2, 3])
2
3
2

可以理解为一个 2 行 3 列的矩阵。

c.size() 返回的 torch.Size([2, 3]) 描述的是矩阵结构,行数为 2,列数为 3

c.size(0):返回的是行数 2

c.size(1):返回的是列数 3

实际使用场景:线性输入组的概念,比如用 dimension 为 1 的 Tensor 表示一张图片,要输入 8 张,则就需要再增加一个维度。

3 维度 Tensor

d = torch.rand(2, 3, 4)
print(d)
print(d.size())
print(d.size(0))
print(d.size(1))
print(d.size(2))
print(d.dim())//输出结果
tensor([[[0.9375, 0.6131, 0.5574, 0.2307],[0.4352, 0.2731, 0.5670, 0.2216],[0.0959, 0.8864, 0.7924, 0.0760]],[[0.9787, 0.2835, 0.2164, 0.3175],[0.8904, 0.8363, 0.0011, 0.3942],[0.6285, 0.5877, 0.5401, 0.2004]]])
torch.Size([2, 3, 4])
2
3
4
3

可以理解为 2 组 3 行 4 列的矩阵构成的数据。

d.size(0):返回的是组数 2

d.size(1):返回的是行数 3

d.size(2):返回的是列数 4

实际使用场景: 比如用一个 dimension 长度为 1 的 Tensor 表示图片的高度,用另一个 dimension 长度为 1 的 Tensor 表示图片的宽度,如果要输入 10 张图片则需要再增加一个维度,也就是 3 维的 Tensor 表示这个输入。在 RNN (循环神经网络) 处理中有更广泛应用。

4 维度 Tensor

e = torch.rand(2, 3, 28, 28)
print(e)
print(e.size())
print(e.size(0))
print(e.size(1))
print(e.size(2))
print(e.size(3))
print(e.dim())//输出结果
tensor([[[[0.7386, 0.8259, 0.6421, 0.5180, 0.7754],[0.2118, 0.0453, 0.4092, 0.2339, 0.7938],[0.2132, 0.0554, 0.0305, 0.3132, 0.8126],[0.2169, 0.2510, 0.5233, 0.1525, 0.4049],[0.5695, 0.8084, 0.4958, 0.6022, 0.6873]],[[0.8591, 0.4062, 0.0522, 0.4481, 0.8709],[0.1667, 0.1246, 0.0640, 0.3585, 0.0226],[0.7756, 0.3169, 0.1678, 0.3884, 0.3878],[0.6382, 0.8963, 0.3272, 0.9765, 0.6208],[0.1300, 0.4894, 0.0875, 0.5357, 0.5581]],[[0.9978, 0.4991, 0.8405, 0.8512, 0.8052],[0.3975, 0.8562, 0.1375, 0.0642, 0.0928],[0.2272, 0.7209, 0.8362, 0.3370, 0.7584],[0.9186, 0.0423, 0.5342, 0.6597, 0.8330],[0.2812, 0.3573, 0.2112, 0.7046, 0.8038]]],[[[0.0577, 0.9690, 0.1507, 0.8940, 0.4517],[0.8458, 0.2516, 0.3659, 0.3188, 0.6680],[0.0421, 0.0674, 0.8306, 0.2685, 0.3755],[0.5505, 0.9351, 0.5172, 0.6399, 0.0379],[0.3950, 0.6902, 0.6320, 0.6701, 0.1980]],[[0.7649, 0.6655, 0.4616, 0.4521, 0.9183],[0.4430, 0.8904, 0.7241, 0.6998, 0.3434],[0.8955, 0.8490, 0.1604, 0.6503, 0.5091],[0.5581, 0.9493, 0.6065, 0.7257, 0.1195],[0.2835, 0.5829, 0.5373, 0.2529, 0.6760]],[[0.8280, 0.6496, 0.8250, 0.9196, 0.3306],[0.0847, 0.9219, 0.3239, 0.7554, 0.3148],[0.2311, 0.5712, 0.5821, 0.8725, 0.7012],[0.9260, 0.8914, 0.4068, 0.7549, 0.6963],[0.7220, 0.2854, 0.0995, 0.9733, 0.9665]]]])
torch.Size([2, 3, 5, 5])
2
3
5
5
4

可以理解为 2 组 3 块  5 行 5 列的矩阵构成的数据。

e.size(0):返回的是组数 2

e.size(1):返回的是块数 3

e.size(2):返回的是行数 5

e.size(3):返回的是列数 5

实际应用场景:图片的处理,比如要输入 2 张由 3 个颜色通道组成的,高为 5 个像素,宽为 5 个像素。在 CNN(卷积神经网络)中应用更为广泛。

以上是对 Pytorch 的 Tensor 张量数据类型进行了一些简单的介绍,有不足之处,欢迎一起探讨。

http://www.mmbaike.com/news/110821.html

相关文章:

  • 罗湖做网站哪家好网络营销公司是做什么的
  • 郑州做网站易云巢爱战网关键词工具
  • 重庆企业建站系统模板任务推广引流平台
  • 网站必须备案吗自学seo能找到工作吗
  • 武汉市江汉区建设局网站无锡seo培训
  • 网上购物网站开发报价营销型网站建站
  • 金融保险网站模板竞价推广托管公司价格
  • 杭州网站建设培训班网络服务提供者收集和使用个人信息应当符合的条件有
  • 商丘网站建设价格网络运营推广合作
  • 安县建设局网站专业地推团队电话
  • 佛山新网站建设深圳推广平台深圳网络推广
  • 做网站的感觉青岛网络优化费用
  • 黑客做网站网络销售公司
  • 减肥药可以做网站吗网络营销师证书有用吗
  • 建站模板建网站今日头条官网首页
  • 政府网站建设经验材料范文公司营销策划方案案例
  • 做网站广州seo网站优化服务
  • 浙江高端网站建设公司织梦seo排名优化教程
  • 潍坊最早做网站的公司淘宝网络营销方式
  • 什么网站专做宠物物品今日最新消息
  • 怎么利用源码做网站太原seo快速排名怎么样
  • 2023云南疫情最新消息今天杭州网站推广优化
  • 用自己照片做衣服 杯子的是哪个网站网站关键词优化公司哪家好
  • 网站建设的风险管理百度关键词排名十大排名
  • 网站建设的人性分析网站seo诊断技巧
  • 美国做跟单社区的网站自媒体怎么赚钱
  • wordpress模板上传图片网络营销优化推广
  • 网站域名后缀网站seo推广员招聘
  • 网站配色 蓝绿域名信息查询
  • 用微信怎么做商城网站长沙疫情最新情况