- 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方法
- torch.FloatTensor为CPU上的数据类型
- torch.cuda.FloatTensor为GPU上的数据类型
- 使用数据的.cuda()方法
- 使用.shape属性
- 使用.size()方法
- torch.empty()
- torch.FloatTensor(d1,d2,d3)
- torch.set_default_tensor_type
- 均匀分布:torch.rand() / torch.rand_like()
- 纯整数: torch.randint() / torch.randint_like()
- torch.randn()
- torch.normal()
- torch.full()
- 创建对数均分的1维Tensor
- torch.randperm 随机打乱一个数字序列
- Tensor.index_select()
- torch.masked_select()
- Tensor.ge() 是否大于某个数值
- torch.view() 将数据以某种排列方式展示给我们,不改变存储区的真实数据,只改变头信息区,数据存储不连续是不能使用 view() 方法的。
- torch.reshape(),当 tensor 满足连续性要求时,reshape() = view(),和原来 tensor 共用存储区 当 tensor;不满足连续性要求时,reshape() = **contiguous() + view(),会产生新的存储区的 tensor,与原来tensor 不共用存储区。
- 函数对返回的张量不会分配新内存,即在原始张量上返回只读视图,返回的张量内存是不连续的
- 与torch.expand不同的是torch.repeat返回的张量在内存中是连续的
- .t() 为二维矩阵转置
- .transpose() 交换任意两个维度的顺序
- .permute() 任意交换维度顺序
by CyrusMay 2022 06 25



