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. springboot date接收参数

    使用springboot框架对日期类型进行操作,遇到无法保持的情况,一开始报400的错误(解决方法),解决之后日期类型无法保存到数据库,为了解决这个问题,设置了个全局date转换器. 配置方法 1.新 ...

  2. Redis学习第五课:Redis Set类型及操作

    Set是集合,它是string类型的无序集合.set是通过hash table实现的,添加.删除和查找的复杂度都是O(1). 对集合我们可以取并集.交集.差集.通过这些操作我们可以实现SNS中的好友推 ...

  3. C语言基础:初级指针 分类: iOS学习 c语言基础 2015-06-10 21:50 30人阅读 评论(0) 收藏

    指针:就是地址. &   取地址运算符 %p   打印地址占位符 int a=0; printf("%p ",&a);    指针变量:用来存放地址的变量 定义: ...

  4. a 标签解决,新窗口打开跨域问题

    <a href="https://xxxx.vip/home" rel="nofollow noreferrer" target="_blank ...

  5. Linux操作系统网络配置

  6. 了解ASP.NET Core框架的本质

    了解ASP.NET Core框架的本质 ASP.NET Core自身的运行原理和设计思想创建了一个 “迷你版” 的ASP.NET Core框架,并且利用这个 “极简” 的模拟框架阐述了ASP.NET ...

  7. JavaScript原型继承工作原理

    原型继承的定义 当你阅读关于JS原型继承的解释时,你时常会看到以下这段文字: 当查找一个对象的属性时,JavaScript 会向上遍历原型链,直到找到给定名称的属性为止.——出自JavaScript秘 ...

  8. Linux修改开机启动logo

    默认开机LOGO会在液晶屏的左上脚显示一只小企鹅,分辨率为80*80,具体在kernel/drivers/video/logo下会有logo_linux_clut224.ppm这幅图像,程序会根据这幅 ...

  9. linux 的dmesg命令

    dmesg命令参考博客 http://www.linuxso.com/command/dmesg.html dmesg用来显示内核环缓冲区(kernel-ring buffer)内容,内核将各种消息存 ...

  10. flash流媒体资料

    http://www.docin.com/p-111227070.html Java mina和c++ ace做socket长连接 测试报告: http://www.iteye.com/problem ...