当前位置: 首页 > 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.15wanjia.com/news/48074.html

相关文章:

  • 建设网站需要什么样的服务器知乎关键词排名优化
  • 怎么做镜像网站网络推广网站的方法
  • 长春网站网络公司百度网盘网页版
  • 中企动力网站开发网络营销教学大纲
  • 耒阳网站建设seo专员是什么
  • 互动游戏制作软件北京seo人员
  • 品牌广告设计制作公司网站源码百度品牌广告多少钱一个月
  • 昆明网站推广8888168德阳seo优化
  • 专业建设规划ppt惠州市seo广告优化营销工具
  • 义乌品牌网站建设百度词条搜索排行
  • 还有那个网站可以做兼职呢泰安seo培训
  • wordpress编辑器如何增加行距功能武汉seo建站
  • 发明迷网站豆渣做豆腐郑州seo服务
  • 如何查询网站打开速度推广软文案例
  • 开发公司撤销网签起诉书怎么弄网站如何seo推广
  • 献县做网站新开网店自己如何推广
  • 网站建设是做什么的国际新闻网站
  • win10虚拟机做网站山西太原百度公司
  • 社区网站怎么建seo推广软件哪个好
  • 怎么备份wordpress网站株洲seo优化首选
  • 自助建站网站建设怎么做推广比较成功
  • 导航网站移动端流量占比广州最新疫情通报
  • 三桥做网站青岛网络推广公司排名
  • java资源网站青岛网站设计制作
  • 商城网站开发文档好搜自然seo
  • 株洲制作网站南京企业网站排名优化
  • 手机网站底部固定菜单windows优化
  • 单页面网站有哪些品牌营销策划培训课程
  • 桂林做网站公司有哪些网页制作软件推荐
  • 网上兼职做效果图网站有哪些网站app免费生成软件