TensorFlowのマトリックス基本演算

1711 ワード

ここでいう基本演算とは、一般的な 演算であり、 を区別する必要がある.演算を容易にするために、まず3つのマトリクスを定義します.なぜなら、マトリクス乗算は前のマトリクスの行数が後のマトリクスの列数に等しいことを要求するからです.
a = tf.constant([[2, 2, 2], [3, 3, 3]], dtype=tf.float32)
b = tf.constant([[1, 1, 1], [2, 2, 2]], dtype=tf.float32)
c = tf.constant([[1, 1], [2, 2], [3, 3]], dtype=tf.float32)
# a =
# [[2. 2. 2.]
# [3. 3. 3.]]
# b =
# [[1. 1. 1.]
# [2. 2. 2.]]
# c =
# [[1. 1.]
# [2. 2.]
# [3. 3.]]

  • tf.add(x,y,name=None)マトリクスxおよびマトリクスy対応する位置の要素加算
  • tf.add(a, b)
    
    [[3. 3. 3.]
     [5. 5. 5.]]
    
  • tf.subtract(x,y,name=None)マトリクスxおよびマトリクスy対応する位置の要素減算
  • tf.subtract(a, b)
    
    [[1. 1. 1.]
     [1. 1. 1.]]
    
  • tf.Multiply(x,y,name=None)マトリクスxとマトリクスy対応する位置の要素乗算
  • tf.multiply(a, b)
    
    [[2. 2. 2.]
     [6. 6. 6.]]
    
  • tf.divide(x,y,name=None)マトリクスxおよびマトリクスy対応する位置の要素除去
  • tf.divide(a, b)
    
    [[2.  2.  2. ]
     [1.5 1.5 1.5]]
    
  • 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に行列bを乗じて、返される行列行数等の行列aの行数、列数は行列bの列数に等しい
    tf.matmul(a, c)
    
    [[12. 12.]
     [18. 18.]]
    

    実際にコードを書くときは、便宜上、演算記号を直接使用することもできます.
  • 加算:a+b
  • 減算:a-b
  • 乗算:a*b
  • 除算:a/b注意:aがtensor、bがscalarの場合、aの各要素に対して、同じ操作(+,-,*,/)scalar
  • を実行します.