Tensor

Method 描述
is_tensor(obj) 如果 obj 是 PyTorch 张量,则返回 True ;
is_storage(obj) 如果 obj 是 PyTorch 存储对象,则返回 True ;[torch.storage() ]
is_complex(input) input如果 的数据类型是复杂数据类型,则返回 True ;
is_conj(input) 如果 input 是共轭张量,则返回 True ,即其共轭位设置为 True
is_floating_point(input) 如果 input 的数据类型是浮点数据类型,则返回 True ;
is_nonzero(input) input 如果是 单个张量且类型转换后不等于0,则返回 True ;
set_default_dtype(d) 将默认浮点 dtype 设置为d;[ dtype 查看类型]
get_default_dtype() 获取当前的默认浮点数 torch.dtype;[默认是 torch.float32 ]
set_default_tensor_type(t) 将默认 torch.Tensor 类型设置为浮点张量类型 t
numel(input) 返回 input 张量中元素的总数;[考虑 tensor.shape 的各个维度相乘]
set_printoptions 设置输出格式;
set_flush_denormal(model) 禁用 CPU 上的非规范浮点数;[处理精度问题,False 则完整输出]

创建操作

Method 描述
tensor 用 构造一个张量data
sparse_coo_tensor 在给定索引处构造一个具有指定值的 COO(rdinate) 格式的稀疏张量;
as_tensor 将数据转换为torch.Tensor ;
as_strided 创建具有指定大小、步幅和 storage_offset 的现有 torch.Tensor 输入的视图;
from_numpy 从 numpy.ndarray 创建一个张量;
frombuffer 从实现 Python 缓冲区协议的对象创建一维张量;
zeros 返回一个用标量值 0 填充的张量,其形状由变量参数 *size 定义;
zeros_like 返回一个用标量值 0 填充的张量,大小与 input 相同;
ones 返回一个用标量值 1 填充的张量,其形状由变量参数 *size 定义;
ones_like 返回一个用标量值 1 填充的张量,其大小与input 相同;
arange 返回大小为$\left\lceil\frac{\text { end-start }}{\text { step }}\right\rceil$的一维张量,生成区间 [start , end),公差为 step;
range 返回大小为 $\left\lceil\frac{\text { end-start }}{\text { step }}\right\rceil +1$ 的一维张量值,从startend,步长为 step
linspace 创建大小为 steps 的一维张量,其值从到 start 到 end 的均匀分布;
logspace 创建大小为 steps 的一维张量,值从 ${{\text{{base}}}}^{{\text{{start}}}}$ 到 ${{\text{{base}}}}^{{\text{{end}}}}$ ;
eye 返回一个二维张量,其中对角线为 1,其他位置为 0;
empty 返回一个未初始化数据的张量;
empty_like 返回与 input 大小相同的未初始化张量;
empty_strided 返回一个充满未初始化数据的张量;
full 创建一个大小为 size 的张量,值用 fill_value 填充;
full_like 返回一个与input 大小相同的张量,并用fill_value填充;
quantize_per_tensor 将浮点张量转换为具有给定比例和零点的量化张量;
quantize_per_channel 将浮点张量转换为具有给定比例和零点的每通道量化张量;
dequantize 通过反量化量化张量返回 fp32 张量;
complex 构造复数张量,其实部等于 real 虚部等于 imag
polar 构造复数张量,元素是笛卡尔坐标,对应于具有绝对值和角度的极坐标;
heaviside 计算 中的每个元素的 Heaviside 阶跃函数input

索引、切片、连接、变异操作

Method 描述
cat 连接给定seq给定维度的张量序列;[ 默认axis = 0 ]
concat 别名 torch.cat()
conj 返回input带有翻转共轭位的视图;[ real 相等,imag 相反,考虑 is_conj() ]
chunk 将张量拆分为指定数量的块;[ 不一定等于给定数量块 ]
dsplit input具有三个或更多维度的张量深度拆分为多个张量;
column_stack 通过在 中水平堆叠张量来创建一个新张量 tensors;
dstack 按深度顺序堆叠张量(沿第三轴);
gather 沿 dim 指定的轴收集值;
hsplit input具有一个或多个维度的张量水平拆分为多个张量;
hstack 水平顺序堆叠张量(按列);
index_select 返回一个新的张量,沿指定轴、索引选择;
masked_select 返回一个新的一维张量,根据 mask 中的 True 选择 input 中的值;
movedim 将 input 的轴从 source 转移到 destination ;
moveaxis torch.movedim() 的别名;
narrow 返回一个新的张量,沿指定 dim ,选择从 start 到 start+length 的元素 ;
nonzero 返回一个新的张量,将值不为 0 的坐标给出;
permute 返回原始张量的视图,input其尺寸已置换;
reshape 返回具有与input相同的数据和元素数量但具有指定形状的张量;
row_stack torch.vstack() 的别名;
scatter 异地版本torch.Tensor.scatter_()
scatter_add 异地版本torch.Tensor.scatter_add_()
split 根据 split_size_or_sections 将张量拆分为块;
squeeze 返回一个张量,其中所有input大小为1的维度都已删除;
stack 沿 dim 连接一系列张量;
swapaxes torch.transpose() 的别名;
swapdims torch.transpose() 的别名;
t 张量转置;
take 从 input 返回具有给定索引处元素的新张量;
take_along_dim 从给定 input 的 1 维索引处选择值;
tensor_split 根据 指定的索引或节数,将input一个张量拆分为多个子张量;
tile 通过重复 input 的元素构造一个张量。
transpose 返回一个张量,它是 的转置版本input
unbind 删除轴 dim 下的张量维度,并返回新张量。
unsqueeze 返回一个插入到指定位置的尺寸为 1 的新张量。
vsplit 根据input将具有两个或多个维度的张量垂直拆分为多个张量。
vstack 垂直(按行)按顺序堆叠张量。
where 返回从xy中选择的元素的张量,具体取决于condition.

Generators

Method 描述
Generator 创建并返回一个生成器对象,该对象管理生成伪随机数的算法的状态;

随机抽样

Method 描述
seed 将生成随机数的种子设置为非确定性随机数;
manual_seed 设置生成随机数的种子;
initial_seed 返回用于生成随机数的初始种子作为 Python long;
get_rng_state 以torch.ByteTensor 形式返回随机数生成器状态;
set_rng_state 设置随机数生成器状态;

分布

Method 描述
bernoulli 从伯努利分布中绘制二进制随机数(0 或 1);
multinomial 返回一个张量,每一行包含num_samples从位于相应张量行中的多项概率分布中采样的索引;
normal 返回从给出均值和标准差的独立正态分布中抽取的随机数张量;
poisson 返回与从泊松分布中采样的每个元素大小相同的张量;
rand 从区间上的均匀分布返回一个填充有随机数[ 0 ,1 )的张量
rand_like 返回一个大小相同的张量,其中input填充了区间上均匀分布的随机数[0, 1);
randint 返回一个填充了随机整数的张量,用[low ,high)填充的张量;
randint_like 返回一个与 Tensor 形状相同的张量,[low,high)之间均匀生成的随机整数;
randn 从均值为 0方差为1的正态分布中返回一个填充随机数的张量;
randn_like 返回一个大小相同的张量,填充了来自均值为 0 和方差为 1 的正态分布的随机数;
randperm 返回从 0 到 n-1 的整数的随机排列;

Lesson1——Tensor的更多相关文章

  1. [PyTorch 学习笔记] 1.2 Tensor(张量)介绍

    本章代码: https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson1/tensor_introduce1.py https: ...

  2. Torch7 Tensor切片总结

    1.narrow(k,m,n) 这个函数是选中第k维的从m行开始,供选中n行 2.sub(dim1s,dim1e[,dim2s,dim2e,..,dim4s,dim4e]) 功能最强大,可以切任意的一 ...

  3. Tensorflow学习笔记2:About Session, Graph, Operation and Tensor

    简介 上一篇笔记:Tensorflow学习笔记1:Get Started 我们谈到Tensorflow是基于图(Graph)的计算系统.而图的节点则是由操作(Operation)来构成的,而图的各个节 ...

  4. tensor

    初始化 z = torch.Tensor(,,,,) --可以创建多维数组.里面是随机的数. s = torch.Tensor(,):fill() --用1填充 t = torch.rand(,) m ...

  5. 4d tensor

    偶然在一个ppt中看到了如下关于tensor的解释,清晰明白,所以post在这里,以备后续查看 根据这个理解: theano中的input(4d tensor):[mini-batch size, n ...

  6. Tensor神经网络进行知识库推理

    本文是我关于论文<Reasoning With Neural Tensor Networks for Knowledge Base Completion>的学习笔记. 一.算法简介 网络的 ...

  7. lesson1:压测普通网页

    本文展示了利用jmeter来压力测试普通网页,具体步骤如下: 1.添加[线程组]“lesson1压测普通网页”,“线程数”设置为10:“循环测试“设置为50,如图所示: 2.添加一个"htt ...

  8. TFboy养成记 tensor shape到底怎么说

    tensor.shape 对于一位向量,其形式为[x,] 对于矩阵,二维矩阵[x,y],三维矩阵[x,y,z] 对于标量,也就是0.3*x这种0.3,表示形式为() 如果说这个矩阵是三维的,你想获得其 ...

  9. tensorflow+入门笔记︱基本张量tensor理解与tensorflow运行结构

    Gokula Krishnan Santhanam认为,大部分深度学习框架都包含以下五个核心组件: 张量(Tensor) 基于张量的各种操作 计算图(Computation Graph) 自动微分(A ...

随机推荐

  1. 在KALI以外的Linux上安装KALI上的工具(ubuntu,debian)

    添加KALI源 vim /etc/apt/sources.list 在sources.list中加入 deb http://http.kali.org/kali kali-rolling main c ...

  2. 《剑指offer》刷题目录

    <剑指offer>刷题目录 面试题03. 数组中重复的数字 面试题04. 二维数组中的查找 面试题05. 替换空格 面试题06. 从尾到头打印链表 面试题07. 重建二叉树 面试题09. ...

  3. Vulnhub - THE PLANETS: EARTH

    环境配置 从www.vulnhub.com下载靶机,在VMware中导入,自动分配IP 主机发现 通过对内网主机的扫描,VMware为目标主机 端口扫描 使用nmap对主机进行扫描 发现443端口信息 ...

  4. sql 语句实现实现特殊查询 总结

    统计某一字段不为空 select count(*) from 表名 where 字段名 is not null 统计某一字段为空 select count(*) from 表名 where 字段名 i ...

  5. unity3d之public变量引发错误

    public变量引发错误 在vs ide中怎么更改也无效 后来发现public里面的值一直不改变,手动改之.

  6. ArrayList实现类

    特点 数组结构实现,查询快,增删慢 运行效率高,线程不安全 可重复 常用方法 Modifier and Type Method and Description boolean add(E e) 将指定 ...

  7. 2022GDUT寒假专题学习-1 B,F,I,J题

    专题链接:专题学习1 - Virtual Judge (vjudge.net) B - 全排列 题目 思想 这道题可以用DFS进行求解,但是一看到全排列,其实可以立刻想到一个STL函数:next_pe ...

  8. golang中内存地址计算-根据内存地址获取下一个内存地址对应的值

    package main import ( "fmt" "unsafe" ) func main() { // 根据内存地址获取下一个字节内存地址对应的值 da ...

  9. Servlet-概念及实现一个Servlet程序

    Servlet技术 一,Servlet概念 1,Servlet是JavaEE规范之一.规范就是接口 2,Servlet就是JavaWeb三大组件之一.三大组件分别是:Servlet程序.Filter过 ...

  10. 学习JAVAWEB第十一天

    今天以及明天做登录案例,复习所学知识.