tf.matmul函数

Posted wzdly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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) 

参数:

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会被处理为稀疏矩阵

a,b的维数必须相同

import numpy as np
import tensorflow as tf

a = np.array([[1,2],
        [2,2],
        [3,2]])
b= np.array([[3,1,1,4],
        [3,1,1,4]])

with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
Input = tf.matmul(a,b)
result = sess.run(Input)
print(result)

[[ 9 3 3 12]
 [12 4 4 16]
 [15 5 5 20]]

b在神经网络中一般用作权重矩阵,shape=[x,y],x为前一层神经网络的神经元数量,y为后一层神经网络的神经元数量

 tf.multiply(x, y, name=None) ,两个矩阵中对应元素各自相乘,最后返回数据的维数以最多维数据的维数相同

import numpy as np
import tensorflow as tf

a = np.array([[1,2],
              [2,3],
              [3,4]])
b= np.array([2,3])

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    Input = tf.multiply(a,b)
    result = sess.run(Input)    
    print(result)

[[ 2 6]
 [ 4 9]
 [ 6 12]]

 

 

 
















以上是关于tf.matmul函数的主要内容,如果未能解决你的问题,请参考以下文章

Tensorflow 函数学习笔记

TensorFlow tf.sparse_tensor_dense_matmul

tf.matmul(x, W) + b

Tensor flow 实战Google深度学习框架 笔记Code Part

tf 常用函数 28原则

如何在TensorFlow中执行稀疏矩阵*稀疏矩阵乘法?