张量是Pytorch的关键组件。可以说PyTorch完全基于张量。在数学中, 数字的矩形数组称为度量。在NumPy库中, 这些指标称为ndaaray。在PyTorch中, 它被称为Tensor。张量是n维数据容器。例如, 在PyTorch中, 1d张量是向量, 2d张量是度量, 3d张量是立方体, 4d张量是立方体向量。
【PyTorch张量介绍和用法】PyTorch提供具有强大GPU加速功能的张量计算。我们必须熟悉张量数据结构才能使用PyTorch。这将成为神经网络实施之前的基本前提。
在深度学习中, Tensor是关键部分, 我们可以看到围绕Tensor进行的众多讨论。甚至以Google的主要机器学习库(即TensorFlow)的名称出现。
在本教程中, 我们将讨论张量是什么以及如何执行操作以及如何使用numpy在python中对其进行操作。
“
一般情况下, 排列在规则网格上的数字数组具有可变数量的轴称为张量。”
下图以非常有效的方式描述了张量的尺寸。
文章图片
现在让我们对张量的表示法有一点了解
张量表示法类似于度量表示法。大写字母表示张量, 带下标整数的小写字母表示张量内的标量值。
文章图片
在物理和工程领域, 作为一种工具, 张量和张量代数得到广泛使用。可以说, 这是机器学习中的一组技术, 可以对张量描述深度学习模型的训练。
如何创建张量? 我们可以通过三种方式创建张量。每个人都有不同的createTensor方式并使用不同的方法。张量创建为
- 从数组创建张量
- 用全1和随机数创建张量
- 从numpy数组创建Tensor
从数组创建张量
在这种情况下, 你必须首先定义数组, 然后将该数组在焊炬的Tensor方法中作为参数传递。
例如
Import torcharr = [[3, 4], [8, 5]] pytensor = torch.Tensor(arr)print(pytensor)
输出
tensor ([[3., 4.], [8., 5.]])
文章图片
用随机数和所有数字创建张量
要创建一个随机数张量, 我们必须使用rand()方法, 并使用所有方法创建一个张量, 你必须使用PyTorch的方法个()。为了生成随机数, 将对rand使用另一种PyTorch方法, 即, manual_seed具有0个参数。
例如
import torchones_t = torch.ones((2, 2)) torch.manual_seed(0)//to have same values for random generationrand_t = torch.rand((2, 2))print(ones_t)print(rand_t)
输出
tensor([[1., 1.], [1., 1.]])tensor([[0.4962, 0.7682], [0.0885, 0.1320]])
文章图片
从numpy数组创建张量
要从numpy数组创建张量, 我们必须创建一个numpy数组。创建完numpy数组后, 我们必须将其作为参数传递给from_numpy()。此方法将numpy数组转换为张量。
例如
import torchimport numpy as np1numpy_arr = np1.ones((2, 2))pytensor = torch.from_numpy(numpy_arr)np1_arr_from_tensor = pytensor.numpy()print(np1_arr_from_tensor)
输出
[[1. 1.][1. 1.]]
文章图片
推荐阅读
- PyTorch如何测试卷积神经网络模型((实例图解))
- PyTorch预测和线性分类使用图解
- PyTorch神经网络(感知器图解)
- PyTorch一维张量用法图解
- PyTorch软件包介绍
- Spring-ApplicationContext的介绍
- uni-app app端设置全屏背景色
- ORA-02050 trapped in 2PC on transaction 191.4.1345608. Cleaning up.
- CWinApp和CFrameWnd