tf.matmul() 和tf.multiply() 的区别

1.tf.multiply()两个矩阵中对应元素各自相乘

格式: tf.multiply(x, y, name=None)
参数:
x: 一个类型为:half, float32, float64, uint8, int8, uint16, int16, int32, int64, complex64, complex128的张量。
y: 一个类型跟张量x相同的张量。
返回值: x * y element-wise.
注意:
(1)multiply这个函数实现的是元素级别的相乘,也就是两个矩阵中对应位置元素相乘再相加.
(2)两个相乘的数必须有相同的数据类型,不然就会报错。

2.tf.matmul()将矩阵a乘以矩阵b,生成a * b。

格式:
tf.matmul(a, b, transpose_a=False, transpose_b=False, adjoint_a=False, adjoint_b=False, a_is_sparse=False, b_is_sparse=False, name=None)

参数:

  • a: 一个类型为 float16, float32, float64, int32, complex64, complex128 且张量秩 > 1 的张量。
  • b: 一个类型跟张量a相同的张量。
  • transpose_a: 如果为真, a则在进行乘法计算前进行转置。
  • transpose_b: 如果为真, b则在进行乘法计算前进行转置。
  • adjoint_a: 如果为真, a则在进行乘法计算前进行共轭和转置。
  • adjoint_b: 如果为真, b则在进行乘法计算前进行共轭和转置。
  • a_is_sparse: 如果为真, a会被处理为稀疏矩阵。
  • b_is_sparse: 如果为真, b会被处理为稀疏矩阵。
  • name: 操作的名字(可选参数)
  • 返回值: 一个跟张量a和张量b类型一样的张量且最内部矩阵是a和b中的相应矩阵的乘积。

注意:
(1)输入必须是矩阵(或者是张量秩 >2的张量,表示成批的矩阵),并且其在转置之后有相匹配的矩阵尺寸。
(2)两个矩阵必须都是同样的类型,支持的类型如下:float16, float32, float64, int32, complex64, complex128。

引发错误:
ValueError: 如果transpose_a 和 adjoint_a, 或 transpose_b 和 adjoint_b 都被设置为真,此时会出现错误.

程序示例:
在这里插入图片描述
运行结果:
在这里插入图片描述

值得注意的是:这里并没有用到sess.run(tf.global_variables_initializer()).想了解关于tf.global_variables_initializer()的具体内容的.
移步下面链接~
什么时候应该用tf.global_variables_intializer()?

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值