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. L235

    China will launch the Chang'e-5 probe by the end of this year to bring moon samples back to Earth, a ...

  2. phpstorm 破解方法

    前提概要:我收到博友:3102009292 的消息,发给我另一个破解PHPstorm的方法,我亲测有效,方便快捷,在和博友商量后,决定加入我的本文章中,供更多的开发者参考,话不多说,重点来了. 按照P ...

  3. OK335xS U-boot 编译问题&无Linux shell 问题

    /************************************************************************** * OK335xS U-boot 编译问题&am ...

  4. 字符串匹配--(K)MP模板

    大白书型模板,并没有写成函数形式: 这个是下标从0开始的: 此外,对于一个长度为 m 的串自匹配,在此模板中 m-p[m] 就是这个串的最小循环节长度(最后一个循环可以不完整) 另一个关于自匹配后的失 ...

  5. JQuery输入框获取/失去焦点行为

    //搜索框获取焦点清除内容 $(function() { $("input").focus(function() { //获取焦点,清空默认内容 $(this).css('colo ...

  6. 【网络通讯】Nat知识了解

    一.Nat的含义 NAT(Network Address Translation,网络地址转换)是1994年提出的.当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址 ...

  7. CH4302 Interval GCD

    题意 4302 Interval GCD 0x40「数据结构进阶」例题 描述 给定一个长度为N的数列A,以及M条指令 (N≤5*10^5, M<=10^5),每条指令可能是以下两种之一: &qu ...

  8. ES中Module的使用

    Module 1.ES6在语言标准的层面上,实现了模块功能,成为浏览器和服务器通用的模块解决方案,完全可以取代 CommonJS 和 AMD 规范,基本特点如下: 每一个模块只加载一次, 每一个JS只 ...

  9. 高大上的JS工具

    EtherPad (协同文件编辑): EtherCalc (协同电子表格编辑)

  10. Jenkins进阶-Gitlab使用Webhook实现Push代码自动部署(3)

    1.Jenkins 安装完成以后,首先我们在Jenkins中需要安装一下,Gitlab Hook Plugin 插件: 2.插件安装完成我们创建任务,在任务重构建触发器下获取回调URL: 注意: 注意 ...