Lesson1——Tensor
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$ 的一维张量值,从start 到 end ,步长为 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 |
返回从x 或y 中选择的元素的张量,具体取决于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的更多相关文章
- [PyTorch 学习笔记] 1.2 Tensor(张量)介绍
本章代码: https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson1/tensor_introduce1.py https: ...
- Torch7 Tensor切片总结
1.narrow(k,m,n) 这个函数是选中第k维的从m行开始,供选中n行 2.sub(dim1s,dim1e[,dim2s,dim2e,..,dim4s,dim4e]) 功能最强大,可以切任意的一 ...
- Tensorflow学习笔记2:About Session, Graph, Operation and Tensor
简介 上一篇笔记:Tensorflow学习笔记1:Get Started 我们谈到Tensorflow是基于图(Graph)的计算系统.而图的节点则是由操作(Operation)来构成的,而图的各个节 ...
- tensor
初始化 z = torch.Tensor(,,,,) --可以创建多维数组.里面是随机的数. s = torch.Tensor(,):fill() --用1填充 t = torch.rand(,) m ...
- 4d tensor
偶然在一个ppt中看到了如下关于tensor的解释,清晰明白,所以post在这里,以备后续查看 根据这个理解: theano中的input(4d tensor):[mini-batch size, n ...
- Tensor神经网络进行知识库推理
本文是我关于论文<Reasoning With Neural Tensor Networks for Knowledge Base Completion>的学习笔记. 一.算法简介 网络的 ...
- lesson1:压测普通网页
本文展示了利用jmeter来压力测试普通网页,具体步骤如下: 1.添加[线程组]“lesson1压测普通网页”,“线程数”设置为10:“循环测试“设置为50,如图所示: 2.添加一个"htt ...
- TFboy养成记 tensor shape到底怎么说
tensor.shape 对于一位向量,其形式为[x,] 对于矩阵,二维矩阵[x,y],三维矩阵[x,y,z] 对于标量,也就是0.3*x这种0.3,表示形式为() 如果说这个矩阵是三维的,你想获得其 ...
- tensorflow+入门笔记︱基本张量tensor理解与tensorflow运行结构
Gokula Krishnan Santhanam认为,大部分深度学习框架都包含以下五个核心组件: 张量(Tensor) 基于张量的各种操作 计算图(Computation Graph) 自动微分(A ...
随机推荐
- 【Java】简单了解网络编程
文章目录 网络编程 网络编程中有两个主要的问题 网络编程中的两个要素 通信要素一:IP和端口号 实例化InetAddress 两个常用方法 端口号 通信要素二:网络通信协议 实现TCP的网络编程 例子 ...
- MySQL的学习记录 DAY03~
小记:昨天打了新冠加强针,今天开始拉肚子,嗓子疼,超级难受~
- grpc基础讲解和golang实现grpc通信小案例
grpc简介 gRPC由google开发,是一款语言中立.平台中立.开源的远程过程调用系统 gRPC客户端和服务端可以在多种环境中运行和交互,例如用java写一个服务端,可以用go语言写客户端调用 g ...
- UncLutter
在 Mac 上「速记」的正确姿势:Unclutter 现代人的大脑,每天都会被大量有用,或无用的东西充斥着,过多「思想垃圾」的沉重负担就容易导致失忆.也就是说,你很可能会记得一个无关紧要,但给你留下深 ...
- new实例化和反射实例化有什么区别?
在工厂设计模式中,使用反射实例化,子类可以随便增加,工厂类不需要做任何的修改 使用反射之后最大的好处就是解耦合
- [源码分析] Facebook如何训练超大模型---(4)
[源码分析] Facebook如何训练超大模型 --- (4) 目录 [源码分析] Facebook如何训练超大模型 --- (4) 0x00 摘要 0x01 背景知识 1.1 单精度.双精度和半精度 ...
- Python如何把八进制转换成ASCII码
做题途中拿到一串八进制字符串 0126 062 0126 0163 0142 0103 0102 0153 0142 062 065 0154 0111 0121 0157 0113 0111 010 ...
- Programiz 中文系列教程·翻译完成
原文:Programiz 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 学习资源 目录 Programiz C ...
- AT2645 [ARC076D] Exhausted?
解法一 引理:令一个二分图两部分别为 \(X, Y(|X| \le |Y|)\),若其存在完美匹配当且仅当 \(\forall S \subseteq X, f(S) \ge |S|\)(其中 \(f ...
- java命令-(学习)jstack 工具
一.介绍 jstack是java虚拟机自带的一种堆栈跟踪工具.jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项&qu ...