本文主要是介绍PyTorch 数学运算-Tensor基本操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
用如下 a
b
进行运算演示
>>> a
tensor([[0.7967, 0.5056, 0.7963],[0.8603, 0.7029, 0.7590]])
>>> b
tensor([[0.6923, 0.0411, 0.8713],[0.0483, 0.2948, 0.3286]])
- 一般加减乘除运算:
add/mimus/multiply/divide
>>> a+b ## torch.add(a,b) tensor([[1.4890, 0.5467, 1.6676],[0.9086, 0.9977, 1.0876]]) >>> a-b ## torch.sub(a,b) tensor([[ 0.1044, 0.4646, -0.0750],[ 0.8120, 0.4080, 0.4304]]) >>> a*b ## torch.mul(a,b) tensor([[0.5516, 0.0208, 0.6938],[0.0416, 0.2072, 0.2494]]) >>> a/b ## torch.div(a,b) tensor([[ 1.1508, 12.3163, 0.9139],[17.8087, 2.3840, 2.3099]])
- 矩阵相乘:
matmul
- 对于大于二维的,只取后面的二维进行运算
>>> a@b ## torch.matmul(a, b.t()) tensor([[1.2662, 0.4492],[1.2858, 0.4982]])
pow
,sqrt
,exp
,log
>>> a**2 ## a.pow(2) tensor([[0.6348, 0.2557, 0.6341],[0.7401, 0.4940, 0.5761]]) >>> a**0.5 ## a.sqrt() tensor([[0.8926, 0.7111, 0.8924],[0.9275, 0.8384, 0.8712]]) >>> torch.exp(a) tensor([[2.2183, 1.6580, 2.2173],[2.3638, 2.0196, 2.1362]]) >>> torch.log(a) ## e 为底 tensor([[-0.2272, -0.6819, -0.2278],[-0.1505, -0.3526, -0.2757]])
- 近似计算:
floor
,ceil
,round
和 裁剪clamp
>>> a.floor() ## 向上取整 tensor([[0., 0., 0.],[0., 0., 0.]]) >>> a.ceil() ## 向下取整 tensor([[1., 1., 1.],[1., 1., 1.]]) >>> a.round() ## 四舍五入 tensor([[1., 1., 1.],[1., 1., 1.]])>>> a.clamp(0.1, 0.8) ## 裁剪到指定区间 tensor([[0.7967, 0.5056, 0.7963],[0.8000, 0.7029, 0.7590]])>>> a.trunc() ## 拆分获得整数部分 tensor([[0., 0., 0.],[0., 0., 0.]]) >>> a.frac() ## 拆分获得小数部分 tensor([[0.7967, 0.5056, 0.7963],[0.8603, 0.7029, 0.7590]])
- B站视频参考资料
这篇关于PyTorch 数学运算-Tensor基本操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!