搜索

pdf文档 深度学习与PyTorch入门实战 - 07. 创建Tensor

1.43 MB 16 页 2 下载 61 浏览 0 评论 0 收藏
语言 格式 评分
中文(简体)
.pdf
3
摘要
文档详细介绍了在PyTorch中创建Tensor的方法,包括从NumPy数组转换、使用ones和zeros创建全1和全0的Tensor,通过eye函数创建对角矩阵,以及利用arange、linspace等函数生成特定范围的数值。此外,文档还展示了如何生成随机数Tensor,如rand、randn和randint函数的使用,以及处理未初始化Tensor的方法。
AI总结
### 文档总结:PyTorch 创建 Tensor 入门 #### 1. 从 NumPy 导入数据 - 使用 `torch.from_numpy()` 可以将 NumPy 数组转换为 PyTorch Tensor。 - 示例: ```python a = np.array([2, 3.3]) torch.from_numpy(a) # 输出 tensor([2.0000, 3.3000], dtype=torch.float64) ``` #### 2. 创建基础 Tensor ##### ones 和 zeros - `torch.ones()` 创建全 1 的 Tensor。 ```python torch.ones(3,3) # 输出 tensor([[1., 1., 1.], [1., 1., 1.], [1., 1., 1.]]) ``` - `torch.zeros()` 创建全 0 的 Tensor。 ```python torch.zeros(3,3) # 输出 tensor([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]]) ``` ##### eye 矩阵 - `torch.eye()` 创建单位矩阵。 ```python torch.eye(3) # 输出 tensor([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]) ``` #### 3. 数值范围生成 - `torch.linspace()`:在指定区间内生成等差数列。 - `torch.logspace()`:在对数尺度上生成等差数列。 - 示例: ```python torch.linspace(1, 4, 3) # 输出 tensor([1., 2.5, 4.]) torch.logspace(0, 1, 3) # 输出 tensor([1.0000, 1.7783, 3.1623]) ``` #### 4. 未初始化 Tensor - `torch.empty()`:创建未初始化的 Tensor,值不确定。 ```python torch.empty(2,3) # 输出 tensor([[ 3.1921e+27, 0.0000e+00, -1.0163e+11], # [ 7.1186e-43, 0.0000e+00, -0.0000e+00]]) ``` #### 5. 随机数生成 - `torch.rand()`:生成均匀分布的随机数。 ```python torch.rand(3,3) # 输出 tensor([[0.1489, 0.3039, 0.0103], # [0.7305, 0.6398, 0.1361], # [0.0675, 0.8197, 0.0676]]) ``` - `torch.rand_like()`:根据现有 Tensor 的形状生成随机数。 ```python a = torch.rand(3,3) torch.rand_like(a) # 输出与 a 同形状的随机数 Tensor ``` - `torch.randint()`:生成指定范围的整数随机数。 ```python torch.randint(1,10, (3,3)) # 输出 tensor([[8, 4, 2], [1, 2, 7], [3, 6, 2]]) ``` #### 6. 注意事项 - `torch.range()` 已弃用,建议使用 `torch.arange()`。 - 可以通过 `.type()` 或 `torch.tensor()` 指定数据类型。 - 创建 Tensor 时,避免使用 `torch.FloatTensor([1,2])`,建议直接使用 `torch.tensor([1,2])`。 #### 7. 示例 - 创建特定形状的全 7 Tensor: ```python torch.full([1],7) # 输出 tensor([7.]) ``` --- ### 总结 PyTorch 提供了多种方法创建 Tensor,包括从 NumPy 数组导入、生成基础 Tensor(如全 1、全 0、单位矩阵)、数值范围生成、未初始化 Tensor 以及随机数生成。掌握这些方法可以快速进行深度学习实践。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 9 页请下载阅读 -
文档评分
请文明评论,理性发言.