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

网站建站手机关键词优化公司靠谱推荐

网站建站手机,关键词优化公司靠谱推荐,现在公众号做电影网站的发展,做网站设计答辩问题介绍PyTorch张量 介绍PyTorch张量 PyTorch张量是我们在PyTorch中编程神经网络时将使用的数据结构。 在编程神经网络时,数据预处理通常是整个过程的第一步,数据预处理的一个目标是将原始输入数据转换为张量形式。 torch.Tensor​类的实例 PyTorch张量…

介绍PyTorch张量

介绍PyTorch张量

PyTorch张量是我们在PyTorch中编程神经网络时将使用的数据结构。

在编程神经网络时,数据预处理通常是整个过程的第一步,数据预处理的一个目标是将原始输入数据转换为张量形式。

torch.Tensor​类的实例

PyTorch张量是torch.Tensor​ Python类的实例。我们可以使用类构造函数创建一个torch.Tensor​对象,如下所示:

> t = torch.Tensor()
> type(t)
torch.Tensor

这创建了一个空张量(没有数据的张量),但我们很快就会添加数据。

张量属性

首先,让我们看看一些张量属性。每个torch.Tensor​都有这些属性:

  • torch.dtype
  • torch.device
  • torch.layout

查看我们的张量t​,我们可以看到以下默认属性值:

> print(t.dtype)
> print(t.device)
> print(t.layout)
torch.float32
cpu
torch.strided
张量具有torch.dtype

dtype​,在我们的例子中是torch.float32​,指定了张量中包含的数据类型。张量包含统一(相同类型)的数值数据,类型如下:

数据类型dtypeCPU张量GPU张量
32位浮点数torch.float32torch.FloatTensortorch.cuda.FloatTensor
64位浮点数torch.float64torch.DoubleTensortorch.cuda.DoubleTensor
16位浮点数torch.float16torch.HalfTensortorch.cuda.HalfTensor
8位整数(无符号)torch.uint8torch.ByteTensortorch.cuda.ByteTensor
8位整数(有符号)torch.int8torch.CharTensortorch.cuda.CharTensor
16位整数(有符号)torch.int16torch.ShortTensortorch.cuda.ShortTensor
32位整数(有符号)torch.int32torch.IntTensortorch.cuda.IntTensor
64位整数(有符号)torch.int64torch.LongTensortorch.cuda.LongTensor

注意每种类型都有CPU和GPU版本。关于张量数据类型的一点需要注意,张量之间的张量操作必须在具有相同数据类型的张量之间进行。然而,这个声明只适用于PyTorch版本低于1.3​。有关详细信息,请参阅下面的_PyTorch张量类型提升_部分。

PyTorch张量类型提升

从PyTorch版本1.3​开始,算术和比较操作可以执行混合类型操作,这些操作提升为共同的dtype​。

下面的例子在版本1.2​中是不允许的。然而,在版本1.3​及以上,相同的代码返回一个dtype=torch.float32​的张量。

torch.tensor([1], dtype=torch.int) +
torch.tensor([1], dtype=torch.float32)

有关更多详细信息,请参阅完整文档。

  • torch.result_type​ 提供函数以确定混合类型操作的结果
  • torch.can_cast​ 公开类型提升的转换规则
  • torch.promote_types​ 公开提升逻辑
张量具有torch.device

设备,在我们的例子中是cpu​,指定了张量数据分配的设备(CPU或GPU)。这决定了给定张量的张量计算将在哪里执行。

PyTorch支持使用多个设备,它们使用索引指定:

> device = torch.device('cuda:0')
> device
device(type='cuda', index=0)

如果我们有这样的设备,我们可以通过将设备传递给张量的构造函数来在设备上创建张量。关于使用多个设备的一点需要注意,张量之间的张量操作必须在存在于同一设备上的张量之间进行。

使用多个设备通常是我们在成为更高级用户时会做的事情,所以现在不必担心。

张量具有torch.layout

布局,在我们的例子中是strided​,指定了张量如何在内存中存储。要了解更多关于步幅的信息,请点击这里。

目前,这就是我们需要知道的全部。

从张量属性中提取的信息

作为神经网络程序员,我们需要意识到以下几点:

  1. 张量包含统一类型的数据(dtype​)。
  2. 张量之间的张量计算取决于dtype​和device​。

现在,让我们看看在PyTorch中使用数据创建张量的常见方法。

使用数据创建张量

这些是在PyTorch中使用数据(类似数组)创建张量对象(torch.Tensor​类的实例)的主要方法:

  1. torch.Tensor(data)
  2. torch.tensor(data)
  3. torch.as_tensor(data)
  4. torch.from_numpy(data)

让我们看看这些选项。它们都接受某种形式的数据,并给我们一个torch.Tensor​类的实例。有时,当有多种方法可以实现相同的结果时,事情可能会变得混乱,所以让我们来分解一下。

我们将首先使用每个选项创建一个张量,看看我们得到了什么。我们将首先创建一些数据。

我们可以使用Python列表或序列,但numpy.ndarray​将是更常见的选项,所以我们将使用一个numpy.ndarray​,如下所示:

> data = np.array([1,2,3])
> type(data)
numpy.ndarray

这给我们提供了一个类型为numpy.ndarray​的简单数据。

现在,让我们使用这些选项1-4创建我们的张量,并看看我们得到了什么:

> o1 = torch.Tensor(data)
> o2 = torch.tensor(data)
> o3 = torch.as_tensor(data)
> o4 = torch.from_numpy(data)> print(o1)
> print(o2)
> print(o3)
> print(o4)
tensor([1., 2., 3.])
tensor([1, 2, 3], dtype=torch.int32)
tensor([1, 2, 3], dtype=torch.int32)
tensor([1, 2, 3], dtype=torch.int32)

所有选项(o1​,o2​,o3​,o4​)似乎都产生了相同的张量,除了第一个。第一个选项(o1​)在数字后面有点,表示这些数字是float​,而接下来的三个选项类型为int32​。

// Python代码示例,说明我们的意思> type(2.)
float> type(2)
int

在下一篇文章中,我们将更深入地探讨这种差异以及其他一些重要的差异,这些差异隐藏在幕后。

下一篇文章的讨论将使我们能够看到这些选项中哪一个最适合创建张量。目前,让我们看看一些无需任何数据即可创建张量的创建选项。

无需数据的创建选项

以下是一些其他可用的创建选项。

我们有torch.eye()​函数,它返回一个2-D张量,对角线上是1,其他地方是0。eye()​这个名字与单位矩阵的概念有关,单位矩阵是一个方阵,主对角线上是1,其他地方都是0。

> print(torch.eye(2))
tensor([[1., 0.],[0., 1.]
])

我们有torch.zeros()​函数,它创建一个指定形状参数的零张量。

> print(torch.zeros([2,2]))
tensor([[0., 0.],[0., 0.]
])

同样,我们有torch.ones()​函数,它创建一个1的张量。

> print(torch.ones([2,2]))
tensor([[1., 1.],[1., 1.]
])

我们还有torch.rand()​函数,它创建一个指定参数形状的张量,其值是随机的。

> print(torch.rand([2,2]))
tensor([[0.0465, 0.4557],[0.6596, 0.0941]
])

这是不需要数据的可用创建函数的一小部分。查看PyTorch文档以获取完整列表。

我希望现在你对如何使用PyTorch从数据以及不需要数据的内置函数创建张量有了很好的理解。如果我们使用numpy.ndarray​,这个任务将变得轻而易举,所以如果你已经熟悉NumPy,那么恭喜你。

http://www.dt0577.cn/news/9355.html

相关文章:

  • 用java做网站可以吗没经验怎么开广告公司
  • 北京站制作网站模板
  • 怎么查询一个网站从哪做的网站seo 优化
  • 网络兼职正规网站在家网上做兼职微商引流被加方法精准客源
  • 哪里可以做网站开发长尾关键词挖掘工具
  • 做头像的网站横杆带字潍坊网站建设
  • 做网站需要公司有哪些济南seo顾问
  • 网站建设费用如何收取今日中国新闻
  • 大型网站建设定制开发国外搜索引擎网址
  • 个人介绍网站模板深圳seo优化seo优化
  • seo优化一般包括哪些内容()。seo网络推广软件
  • 国外做电商平台的网站有什么商旅平台app下载
  • 做属于自己公司的网站手机怎么制作网站
  • 网站企业有哪些打开百度浏览器
  • 河南省水利建设厅网站电脑优化用什么软件好
  • 网站开发页面2021热门网络营销案例
  • 网站开发中网页之间的连接形式代运营公司怎么找客户
  • 蓝杉互动网站建设商丘seo外包
  • 开家做网站公司有哪些最好的seo外包
  • 东莞高端商城网站制作seo优化标题
  • 中企动力官方网站大数据营销系统多少钱
  • 个人网站备案后做游戏营销推广公司
  • 网站建优化重庆百度小额贷款有限公司
  • 选择合肥网站建设seo类目链接优化
  • 网站提现功能怎么做怎么引流推广
  • 网页设计学编程吗手机优化管家
  • 开发公众号 微网站开发体验营销案例
  • 别人 网站 粘贴 html 推广免费淘宝关键词工具
  • 精彩网站制作百度在线入口
  • 重庆做网站changeke广安seo外包