Press "Enter" to skip to content

Tensorflow中的乘法运算

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

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

 

tf.math.multiply(
    x, y, name=None
)

 

tf.math.multiply()实现将矩阵x和矩阵y逐个元素(element-wise)相乘,返回一个新的矩阵。注意它实现的是元素级别的相乘,也就是两个相乘的数元素各自相乘。

 

若w为m*1或者1*1的矩阵,x为m*n的矩阵,通过元素级相乘得到一个 m*n 的矩阵。

2*1的矩阵与2*4的矩阵相乘:

 

import tensorflow as tf
w = tf.constant([[0.3], [0.8]], dtype = tf.float32)
x = tf.constant([[1, 2, 3, 4], [5, 6, 7, 8]], dtype = tf.float32)
z = tf.math.multiply(w, x)

 

tf.Tensor(
[[0.3        0.6        0.90000004 1.2       ]
 [4.         4.8        5.6        6.4       ]], shape=(2, 4), dtype=float32)

 

1*1的矩阵与2*4的矩阵相乘:

 

import tensorflow as tf
w = tf.constant([[0.3]], dtype = tf.float32)
x = tf.constant([[1, 2, 3, 4], [5, 6, 7, 8]], dtype = tf.float32)
z = tf.math.multiply(w, x)

 

tf.Tensor(
[[0.3        0.6        0.90000004 1.2       ]
 [1.5        1.8000001  2.1000001  2.4       ]], shape=(2, 4), dtype=float32)

 

若w为m*n的矩阵,x为m*n的矩阵,通过元素级相乘得到一个 m*n 的矩阵。

 

import tensorflow as tf
w = tf.constant([[0.3, 0.2, 0.1, 0.1], [0.5, 0.6, 0.8, 0.2]], dtype = tf.float32)
x = tf.constant([[1, 2, 3, 4], [5, 6, 7, 8]], dtype = tf.float32)
z = tf.math.multiply(w, x)

 

tf.Tensor(
[[0.3       0.4       0.3       0.4      ]
 [2.5       3.6000001 5.6       1.6      ]], shape=(2, 4), dtype=float32)

 

w的行数和列数均为1或者w的列数只能为1或与x的列数相等,w的行数与x的行数相等才能进行tf.multiply运算。

 

2. *乘法-两个矩阵中对应元素各自相乘

 

完全等价于tf.multiply()函数。

 

3、tf.matmul()-按照矩阵乘法规则运算

 

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
)

 

若w为m*p的矩阵,x为p*n的矩阵,那幺通过矩阵相乘结果就会得到一个m*n的矩阵。

只有 w 的列数 == x的行数 时,才能进行乘法运算。

 

import tensorflow as tf
a = tf.constant([1, 2, 3, 4, 5, 6], shape=[2, 3])
b = tf.constant([7, 8, 9, 10, 11, 12], shape=[3, 2])
c = tf.matmul(a, b)

 

tf.Tensor(
[[ 58  64]
 [139 154]], shape=(2, 2), dtype=int32)

 

参考材料

 

https://www.tensorflow.org/api_docs/python/tf/math/multiply

 

https://www.w3xue.com/exp/article/20198/50035.html

 

除非注明,否则均为[半杯茶的小酒杯]原创文章,转载必须以链接形式标明本文链接

 

本文链接: http://www.banbeichadexiaojiubei.com/index.php/2020/12/06/tensorflow%e4%b8%ad%e7%9a%84%e4%b9%98%e6%b3%95%e8%bf%90%e7%ae%97/

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注