torch中cmul()函数的用法总结
2015-11-09 19:03
330 查看
cmul计算的是两个张量tensor1与tensor2之间的element-wise-multiplication (数组元素依次相乘或者元素对应相乘)。
值得注意的是:两个张量之间的元素个数必须相等,它们大小不一定要相同。
说明:当tensor1与tensor2之间的维数满足可以矩阵相乘时,就还原为矩阵乘法;当二者之间的维数不满足普通矩阵乘法时,按照行优先的顺序依次将二者对应位置的数字相乘,存放在新的张量中。
cmul()的应用主要有以下四种形式:
1、y:cmul(x) —-将y中所有的元素分别与x中对应位置的元素相乘,得到新的张量维数和y一致;
2、torch.cmul(z,x,y) – –将x和y相乘的结果存放在z中,z的维数和x一致;
3、z=torch.cmul(x,y) – –相当于矩阵相乘,结果存放在新的张量z中,z的维数和x一致;
4、z:cmul(x,y) – –与2类似,将结果存放在z中,z的维数和x一致。
实例:
结果如下:
%%%%%%%%%%%%%%%%%%%%%%%%%%
x:
0.8708 0.2033 0.9649
0.3312 0.5697 0.4939
[torch.DoubleTensor of size 2x3]
y:
0.0082 0.4973
0.6427 0.0190
0.1723 0.5376
[torch.DoubleTensor of size 3x2]
y:
0.0071 0.1011
0.6201 0.0063
0.0981 0.2655
[torch.DoubleTensor of size 3x2]
z1:
0.0062 0.0206 0.5983
0.0021 0.0559 0.1311
[torch.DoubleTensor of size 2x3]
z2:
0.0000 0.0021 0.3710
0.0000 0.0055 0.0348
[torch.DoubleTensor of size 2x3]
z3:
0.0000 0.0021 0.3710
0.0000 0.0055 0.0348
[torch.DoubleTensor of size 2x3]
z4:
0.0000 0.0021
0.3710 0.0000
0.0055 0.0348
[torch.DoubleTensor of size 3x2]
z5:
0.0000 0.0021 0.3710
0.0000 0.0055 0.0348
[torch.DoubleTensor of size 2x3]
%%%%%%%%%%%%%%%%%%%%%%%%%%
参考资料:
http://torch7.readthedocs.org/en/latest/maths/index.html
值得注意的是:两个张量之间的元素个数必须相等,它们大小不一定要相同。
说明:当tensor1与tensor2之间的维数满足可以矩阵相乘时,就还原为矩阵乘法;当二者之间的维数不满足普通矩阵乘法时,按照行优先的顺序依次将二者对应位置的数字相乘,存放在新的张量中。
cmul()的应用主要有以下四种形式:
1、y:cmul(x) —-将y中所有的元素分别与x中对应位置的元素相乘,得到新的张量维数和y一致;
2、torch.cmul(z,x,y) – –将x和y相乘的结果存放在z中,z的维数和x一致;
3、z=torch.cmul(x,y) – –相当于矩阵相乘,结果存放在新的张量z中,z的维数和x一致;
4、z:cmul(x,y) – –与2类似,将结果存放在z中,z的维数和x一致。
实例:
x = torch.rand(2,3) print('x:') print(x) y = torch.rand(3,2) print('y:') print(y) y:cmul(x) print('y:') print(y) z1 = x:cmul(y) print('z1:') print(z1) torch.cmul(z2,x,y) print('z2:') print(z2) z3 = torch.cmul(x,y) print('z3:') print(z3) z4 = torch.cmul(y,x) print('z4:') print(z4) z5 = torch.rand(x:size()) z5:cmul(x,y) print('z5:') print(z5)
结果如下:
%%%%%%%%%%%%%%%%%%%%%%%%%%
x:
0.8708 0.2033 0.9649
0.3312 0.5697 0.4939
[torch.DoubleTensor of size 2x3]
y:
0.0082 0.4973
0.6427 0.0190
0.1723 0.5376
[torch.DoubleTensor of size 3x2]
y:
0.0071 0.1011
0.6201 0.0063
0.0981 0.2655
[torch.DoubleTensor of size 3x2]
z1:
0.0062 0.0206 0.5983
0.0021 0.0559 0.1311
[torch.DoubleTensor of size 2x3]
z2:
0.0000 0.0021 0.3710
0.0000 0.0055 0.0348
[torch.DoubleTensor of size 2x3]
z3:
0.0000 0.0021 0.3710
0.0000 0.0055 0.0348
[torch.DoubleTensor of size 2x3]
z4:
0.0000 0.0021
0.3710 0.0000
0.0055 0.0348
[torch.DoubleTensor of size 3x2]
z5:
0.0000 0.0021 0.3710
0.0000 0.0055 0.0348
[torch.DoubleTensor of size 2x3]
%%%%%%%%%%%%%%%%%%%%%%%%%%
参考资料:
http://torch7.readthedocs.org/en/latest/maths/index.html
相关文章推荐
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 文件遍历排序函数
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ASP下经常用的字符串等函数参考资料
- PostgreSQL教程(五):函数和操作符详解(1)
- DOS批处理 函数定义与用法
- asp Chr 函数 数字转字母的方法
- Lua中的函数精讲笔记
- Lua中的闭合函数、非全局函数与函数的尾调用详解
- Lua中调用C++函数示例
- Lua实现split函数
- Lua常用时间函数使用实例
- Lua函数与字符串处理简明总结
- Lua学习笔记之表和函数
- Lua中实现sleep函数功能的4种方法
- Lua函数用法研究
- Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
- PowerShell函数简明教程
- 探索PowerShell(十一)函数介绍