栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Pytorch(一) —— 基本语法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pytorch(一) —— 基本语法

Pytorch(一) —— 基本语法
  • 1.基本数据类型
    • 1.1 torch.FloatTensor与torch.cuda.FloatTensor
    • 1.2 torch.DoubleTensor与torch.cuda.DoubleTensor
    • 1.3 torch.IntTensor与torch.cuda.IntTensor
    • 1.4 torch.LongTensor与torch.cuda.LongTensor
    • 1.5 torch.BoolTensor与torch.cuda.BoolTensor
  • 2 Tensor创建的常用操作
    • 2.1 判断是否为本机是否有可用的GPU资源
    • 2.2 CPU类型数据转换为GPU类型数据
    • 2.3 获取Tensor的形状
    • 2.4 将numpy格式的数据转换为Tensor格式
    • 2.4 将List格式的数据转换为Tensor格式
    • 2.5 创建未初始化的Tensor
    • 2.6 设置Tensor的默认格式
    • 2.7 创建均匀分布与纯整数Tensor
    • 2.8 创建正态分布的Tensor
    • 2.9 创建元素全相同的Tensor
    • 2.10 torch.arange()
    • 2.10 torch.linespace()
    • 2.10 torch.logspace()
    • 2.11 torch.ones / .zeros / eye
    • 2.12 随机打散
  • 3. 索引与切片
    • 3.1 对指定维度进行索引
    • 3.2 使用...进行索引
    • 3.3 使用masked_select进行索引
  • 4. 维度变换
    • 4.1 torch.view() / reshape()
    • 4.2 添加一个维度torch.unsqueeze()
    • 4.3 减少一个维度torch.squeeze()
    • 4.4 broadcasting:使用expand方法
    • 4.4 内存复制:使用repeat方法
    • 4.5 维度交换与转置:使用transpose和permute方法

1.基本数据类型 1.1 torch.FloatTensor与torch.cuda.FloatTensor
  • torch.FloatTensor为CPU上的数据类型
  • torch.cuda.FloatTensor为GPU上的数据类型
1.2 torch.DoubleTensor与torch.cuda.DoubleTensor

1.3 torch.IntTensor与torch.cuda.IntTensor

1.4 torch.LongTensor与torch.cuda.LongTensor

1.5 torch.BoolTensor与torch.cuda.BoolTensor

2 Tensor创建的常用操作 2.1 判断是否为本机是否有可用的GPU资源

2.2 CPU类型数据转换为GPU类型数据
  • 使用数据的.cuda()方法
2.3 获取Tensor的形状
  • 使用.shape属性
  • 使用.size()方法
2.4 将numpy格式的数据转换为Tensor格式

2.4 将List格式的数据转换为Tensor格式

2.5 创建未初始化的Tensor
  • torch.empty()
  • torch.FloatTensor(d1,d2,d3)
2.6 设置Tensor的默认格式
  • torch.set_default_tensor_type
2.7 创建均匀分布与纯整数Tensor
  • 均匀分布:torch.rand() / torch.rand_like()
  • 纯整数: torch.randint() / torch.randint_like()
2.8 创建正态分布的Tensor
  • torch.randn()
  • torch.normal()

2.9 创建元素全相同的Tensor
  • torch.full()
2.10 torch.arange()

2.10 torch.linespace()

2.10 torch.logspace()
  • 创建对数均分的1维Tensor
2.11 torch.ones / .zeros / eye

2.12 随机打散
  • torch.randperm 随机打乱一个数字序列
3. 索引与切片 3.1 对指定维度进行索引
  • Tensor.index_select()
3.2 使用…进行索引

3.3 使用masked_select进行索引
  • torch.masked_select()
  • Tensor.ge() 是否大于某个数值
4. 维度变换 4.1 torch.view() / reshape()
  • torch.view() 将数据以某种排列方式展示给我们,不改变存储区的真实数据,只改变头信息区,数据存储不连续是不能使用 view() 方法的。
  • torch.reshape(),当 tensor 满足连续性要求时,reshape() = view(),和原来 tensor 共用存储区 当 tensor;不满足连续性要求时,reshape() = **contiguous() + view(),会产生新的存储区的 tensor,与原来tensor 不共用存储区。

4.2 添加一个维度torch.unsqueeze()

4.3 减少一个维度torch.squeeze()

4.4 broadcasting:使用expand方法
  • 函数对返回的张量不会分配新内存,即在原始张量上返回只读视图,返回的张量内存是不连续的
4.4 内存复制:使用repeat方法
  • 与torch.expand不同的是torch.repeat返回的张量在内存中是连续的
4.5 维度交换与转置:使用transpose和permute方法
  • .t() 为二维矩阵转置
  • .transpose() 交换任意两个维度的顺序
  • .permute() 任意交换维度顺序

by CyrusMay 2022 06 25

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/989428.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号