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
X = np.array([[1,2],
        [2,2],
        [3,2]])
W = np.array([[3,1,1,4],
        [3,1,1,4]])
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    Input = tf.matmul(X,W)
    result = sess.run(Input)
    print(result)
[[ 9 3 3 12]
 [12 4 4 16]
 [15 5 5 20]]
b在神经网络中一般用作权重矩阵,shape=[x,y],x为前一层神经网络的神经元数量,y为后一层神经网络的神经元数量
下面演示加上偏置bias,偏置采用以为数组,长度为后一层神经网络的神经元数量
import numpy as np
import tensorflow as tf
 
X = np.array([[1,2],[2,2],[3,2]]) 
W = np.array([[3,1,1,4],[3,1,1,4]]) 
bias = np.array([1,2,3,4]) 
with tf.Session() as sess:
  sess.run(tf.global_variables_initializer())
  Input = tf.matmul(X,W) + bias
  result = sess.run(Input)
  print(result)
[[10 5 6 16]
[13 6 7 20]
[16 7 8 24]]

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函数和tf.multiply函数的更多相关文章

  1. tf.matmul / tf.multiply

    import tensorflow as tfimport numpy as np 1.tf.placeholder placeholder()函数是在神经网络构建graph的时候在模型中的占位,此时 ...

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

    1.tf.multiply()两个矩阵中对应元素各自相乘 格式: tf.multiply(x, y, name=None) 参数: x: 一个类型为:half, float32, float64, u ...

  3. Tensorflow中multiply()函数与matmul()函数的用法区别

    1.tf.multiply()函数:矩阵对应元素相乘 官网定义: multiply(x,y,name=None) 参数: x: 一个类型为:half, float32, float64, uint8, ...

  4. 深度学习原理与框架-图像补全(原理与代码) 1.tf.nn.moments(求平均值和标准差) 2.tf.control_dependencies(先执行内部操作) 3.tf.cond(判别执行前或后函数) 4.tf.nn.atrous_conv2d 5.tf.nn.conv2d_transpose(反卷积) 7.tf.train.get_checkpoint_state(判断sess是否存在

    1. tf.nn.moments(x, axes=[0, 1, 2])  # 对前三个维度求平均值和标准差,结果为最后一个维度,即对每个feature_map求平均值和标准差 参数说明:x为输入的fe ...

  5. tensorflow笔记3:CRF函数:tf.contrib.crf.crf_log_likelihood()

    在分析训练代码的时候,遇到了,tf.contrib.crf.crf_log_likelihood,这个函数,于是想简单理解下: 函数的目的:使用crf 来计算损失,里面用到的优化方法是:最大似然估计 ...

  6. tensorflow笔记4:函数:tf.assign()、tf.assign_add()、tf.identity()、tf.control_dependencies()

    函数原型: tf.assign(ref, value, validate_shape=None, use_locking=None, name=None)   Defined in tensorflo ...

  7. TensorFlow函数:tf.reduce_sum

    tf.reduce_sum 函数 reduce_sum ( input_tensor , axis = None , keep_dims = False , name = None , reducti ...

  8. TensorFlow函数:tf.lin_space

    函数:tf.lin_space 别名: tf.lin_space tf.linspace lin_space( start, stop, num, name=None ) 参见指南:生成常量,序列和随 ...

  9. TensorFlow函数:tf.ones

    tf.ones 函数 ones( shape, dtype=tf.float32, name=None ) 定义于:tensorflow/python/ops/array_ops.py. 请参阅指南: ...

随机推荐

  1. apsx 页面 if(!ispostback)其用法和作用 什么时候该用?

    一个页面第一次显示的时候 isPostBack=false 然后你在这个页面上点击按钮或其它东西提交的时候, isPostBack=true 一般这个函数里面的内容是指第一次打开这个页面的时候要做的事 ...

  2. settype和gettype

    settype — 设置变量的类型 <?php$foo = "5bar"; // string$bar = true;   // boolean settype($foo,  ...

  3. UDP广播与多播

    UDP广播与多播 使用UDP协议进行信息的传输之前不需要建议连接.换句话说就是客户端向服务器发送信息,客户端只需要给出服务器的ip地址和端口号,然后将信息封装到一个待发送的报文中并且发送出去.至于服务 ...

  4. 高并发下linux ulimit优化

    系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段.ulimit 是一种 l ...

  5. django中的ajax组件

    目录 django中的ajax 向服务器发送请求的途径 Ajax的特点 基于jquery实现的ajax请求 利用ajax实现计算器 利用ajax实现登陆认证 利用form表单进行文件上传 利用ajax ...

  6. asp.net mvc 快捷下拉列表

    各种表单中可能经常会遇到使用各种下拉列表的地方, 有些数据是从数据库来的, 有些则是固定数值, 为了方便, 快速的构造一个可以保持状态的下拉列表, 就出现了下面的方法 2分钟构思的代码, 比较粗糙, ...

  7. 【c++基础】如何获取工程项目当前路径

    工程项目当前路径 #include <direct.h> int main( ) { ]; _getcwd(buffer, ); std::cout << buffer < ...

  8. linux比较两个文件的差异

    1. vimdiff $ vimdiff in.txt out.txt 垂直打开:  vimdiff   point.c     point-a.c 水平打开:   vimdiff -o  point ...

  9. Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined

    遇到问题: Android NDK: jni/Android.mk: Cannot find module with tag 'XXXXXXXXX' in import path Android ND ...

  10. @ModelAttribute的用法