PyTorch基础知识
PyTorch 基础知识 PyTorch 是一个基于 Python 的机器学习框架,由 Facebook 的人工智能实验室 (FAIR) 开发。PyTorch 提供了动态计算图、自动微分和模块化设计等特点,广泛应用于深度学习和机器学习领域。 1. 张量(Tensor) 在 PyTorch 中,张量(Tensor)是基本数据结构,用于存储和操作数据。可以使用 `torch.tensor()` 函数创建张量,例如: ```python a = torch.tensor(4.0) print(a) # tensor(4.) ``` 2. 张量操作 PyTorch 提供了多种张量操作,例如: * 创建张量:`torch.tensor()` 函数 * 打印张量:`print()` 函数 * 张量加法:`torch.add()` 函数或 `+` 运算符 * 张量减法:`torch.sub()` 函数或 `-` 运算符 * 张量乘法:`torch.mul()` 函数或 `*` 运算符 * 张量除法:`torch.div()` 函数或 `/` 运算符 例如: ```python b = torch.tensor([1, 5, 2]) print(b) # tensor([1, 5, 2]) c = torch.tensor([[1, 2, 5], [5, 6, 9]]) print(c) # tensor([[1, 2, 5], [5, 6, 9]]) d = torch.tensor([[1, 2, 5], [5, 6, 1], [9, 7, 5]]) print(d) # tensor([[1, 2, 5], [5, 6, 1], [9, 7, 5]]) ``` 3. 张量索引 PyTorch 支持张量索引,允许访问和操作张量中的特定元素。例如: ```python e = torch.empty(5, 2) print(e) # tensor([[0., 0.], [0., 0.], [0., 0.], [0., 0.], [0., 0.]]) f = torch.rand(5, 2) print(f) # tensor([[0.4557, 0.6264], [0.0040, 0.6414], [0.1270, 0.4115], [0.2843, 0.4744], [0.5275, 0.2181]]) ``` 4. 张量初始化 PyTorch 提供了多种方式初始化张量,例如: * `torch.zeros()` 函数:创建零初始化张量 * `torch.ones()` 函数:创建单位初始化张量 * `torch.rand()` 函数:创建随机初始化张量 例如: ```python g = torch.zeros(5, 2, dtype=torch.long) print(g) # tensor([[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]) g1 = torch.zeros(5, 4) print(g1) # tensor([[0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.]]) ``` 5. 张量形状 PyTorch 提供了多种方式获取张量的形状,例如: * `tensor.shape` 属性:获取张量的形状 * `tensor.size()` 函数:获取张量的大小 例如: ```python h = torch.ones(5, 2, dtype=torch.int) print(h) # tensor([[1, 1], [1, 1], [1, 1], [1, 1], [1, 1]], dtype=torch.int32) h1 = torch.ones(6, 2, dtype=torch.long) print(h1) # tensor([[1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1]]) ``` 6. 张量操作 PyTorch 提供了多种张量操作,例如: * 张量加法:`torch.add()` 函数或 `+` 运算符 * 张量减法:`torch.sub()` 函数或 `-` 运算符 * 张量乘法:`torch.mul()` 函数或 `*` 运算符 * 张量除法:`torch.div()` 函数或 `/` 运算符 例如: ```python j = torch.tensor([2, 5, 6]) k = torch.tensor([8, 9, 6]) j_k = j + k print(j_k) # tensor([10, 14, 12]) ``` 本资源摘要信息涵盖了 PyTorch 的基础知识,包括张量、张量操作、张量索引、张量初始化和张量形状等内容,旨在帮助读者快速了解 PyTorch 的基础知识。