今回はTensorFlow2でテンソルの各要素の積をとる方法を紹介します。
tf.math.multiplyを使います。
環境
- python 3.8.0
- tensorflow 2.2.0
サンプルコード
まず、以下のようなシンプルな配列を用意してmultiplyを使ってみます。
>>> import tensorflow as tf
>>> a = tf.constant([1,2])
>>> b = tf.constant([3,4])
このa, bをmultiplyでかけてみます。
>>> tf.math.multiply(a,b)
<tf.Tensor: shape=(2,), dtype=int32, numpy=array([3, 8], dtype=int32)>
ちゃんと積がとれていることがわかります。
2次元配列の場合も同様です。
>>> a = tf.constant([[1,2],[3,4]])
>>> b = tf.constant([[4,3],[2,1]])
>>> tf.math.multiply(a,b)
<tf.Tensor: shape=(2, 2), dtype=int32, numpy=
array([[4, 6],
[6, 4]], dtype=int32)>
おまけ tf.Tensor以外
Tensor以外も同じように使えます。
以下のようにただの配列でも
>>> a = [1,2]
>>> b = [3,4]
>>> tf.math.multiply(a,b)
<tf.Tensor: shape=(2,), dtype=int32, numpy=array([3, 8], dtype=int32)>
同じように積をとることができます。
参考文献
https://www.tensorflow.org/api_docs/python/tf/math/multiply