pytorch-torch2:张量计算和连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytorch-torch2:张量计算和连接相关的知识,希望对你有一定的参考价值。

参考技术A torch.cat(seq,dim=0,out=None)->Tensor
在给定维度上对输入张量序列seq进行连接操作由这可以想到卷积神经网络
的全连接层
torch.cat() 可以看做 torch.split() 和 torch.chunk() 的逆运算

torch.chunk(tensor,chunks,dim)->>tensors
将张量沿给定维度分块

torch.gather(input,dim,index,out=None,sparse_grad=Flase,out=None)->Tensor

通俗点解释就是把指定索引dim的下标进行替换

torch.index_select(input,dim,index,out=None)->>Tensor

torch.masked_select(input,mask,out=None)->>Tensor
根据mask输出一个一维张量

torch.split(tensor,split_size,dim=0)->>tensor
如果可分,张量沿着指定维度指定大小进行分割,直到大小不足则停止

torch.t(input,out=None)->Tensor
张量转置相当于
torch.transpose(input,o,1)

torch.bernoulli(input,out=None)

从伯努利分布中抽取二元随机数(0或者1)这里的bernoulli概率p是随机的
输入张量值需是一个概率

torch.multinomial(input,num_samples,replacement=Flase,out=None)->>LongTensor
从输入张量中每行取num_samples个样本,可以设置replacement设置是否重复取值
返回取值的下标

torch.normal(means,std,out)->>tensor
按照指定均值和方差选取样本,均值个数决定样本个数
若均值和方差都为张量则两个张量元素个数必须相等

torch.abs(input,out)->tensor 输出张量元素绝对值

torch.acos(input,out) 求反余弦

torch.add(input,value,out) 对每个张量元素逐个加上value

torch.addcdiv(tensor,value=1,tensor1,tensor2) 张量(tensor1/tensor2)*value+tensor

torch.addmul 相乘相加

torch.ceil(input,out) 向上取整

torch.clamp(input,min,max,out=None)
将元素调整至[min,max]区间

torch.div(input,value) 除

torch.exp(tensor,out) 指数

torch.floor(input,out) 向下去整

torch.fmod(input,divisor,out) 取余数

torch.frac 取分数部分

torch.lerp(start, end, weight, out=None)
线性插值:out = start+weight*(end-start)

torch.log 取自然对数

torch.mul(input, value, out=None)

torch.mul(input, other, out=None) 哈达玛积

torch.neg 取复数

torch.pow(input, exponent, out=None) 求幂

torch.reciprocal(input, out=None) → Tensor 去倒数

torch.remainder(input, divisor, out=None) → Tensor 取余数

torch.rsqrt(input, out=None) → Tensor 平方根倒数

torch.sigmoid(input, out=None) → Tensor sigmoid值

torch.sigmoid(input, out=None) → Tensor 符号函数

torch.cumprod(input, dim, out=None) → Tensor 按指定维度累积

torch.cumsum(input, dim, out=None) → Tensor 指定维度累加

torch.dist(input, other, p=2, out=None) → Tensor 求P范数

torch.mean(input) → float 均值

torch.mean(input, dim, out=None) → Tensor 指定维度均值

torch.median(input, dim=-1, values=None, indices=None) -> (Tensor, LongTensor) 指定维度中位数

torch.mode(input, dim=-1, values=None, indices=None) -> (Tensor, LongTensor) 众数

torch.norm(input, p, dim, out=None) → Tensor 指定维度p范数

torch.prod(input) → float 所有积

torch.prod(input, dim, out=None) → Tensor 指定维度积

torch.std(input, dim, out=None) → Tensor 标准差

torch.sum(input, dim, out=None) → Tensor 按维度求和

torch.sum(input) → float 所有元素和

var 按行方差,所有元素方差

torch.eq(input, other, out=None) → Tensor 相等比较操作 返回01

torch.equal(tensor1, tensor2) → bool 张量比较shape and value返回bool

torch.ge(input, other, out=None) → Tensor 大于

torch.gt(input, other, out=None) → Tensor 与equal类似返回不同

torch.kthvalue(input, k, dim=None, out=None) -> (Tensor, LongTensor) 取指定维度最小值

torch.le(input, other, out=None) → Tensor 小于等于

torch.lt(input, other, out=None) → Tensor 小于

torch.max(input, dim, max=None, max_indices=None) -> (Tensor, LongTensor) 返回指定维度最大值和索引

以上是关于pytorch-torch2:张量计算和连接的主要内容,如果未能解决你的问题,请参考以下文章

pytorch - torch.gather 的倒数

机器学习之旅分享4 | 稀疏连接的张量神经网络

《30天吃掉那只 TensorFlow2.0》 2-1 张量数据结构

使用带有 DQN 算法的张量板

如何连接具有 2 个不同维度的 2d 张量

Keras和张量流连接和拟合错误