1、multiply(x,y,name=None)—实现元素级别的相乘

1)注意:x与y要有相同的数据类型,要是int都是int,要是float都是float,否则会因为数据类型不匹配而报错,看下面例子:

x=tf.constant([[1.0,2.0,3.0],[1.0,2.0,3.0],[1.0,2.0,3.0]])
y=tf.constant([[0,0,1],[0,0,1],[0,0,1]])
z = tf.multiply(x, y)

TypeError: Input 'y' of 'Mul' Op has type int32 that does not match type float32 of argument 'x'.
    只要将y中的一个元素改为float形,则不会再报错:如y=tf.constant([[0,0,1.0],[0,0,1],[0,0,1]])。若x与y形状相同,则对应元素相乘,即使多维,也是如此,结果如下:[[ 0.  0.  3.]
                                                              [ 0.  0.  3.]
                                                              [ 0.  0.  3.]]

2)若y为数,x为向量或矩阵,则用y乘以x中的每一个元素:

x2 = tf.constant([[1.0, 1.1, 1.2], [1.3, 1.4, 1.5], [1.6, 1.7, 1.8]])
y2 = tf.constant(2.0)#这里的值同样需要是float型,若是int型,则会报错
z2 = tf.multiply(x2, y2)

结果为:[[ 2.          2.20000005  2.4000001 ]
               [ 2.5999999   2.79999995  3.        ]
               [ 3.20000005  3.4000001   3.5999999 ]]
这个结果的产生应该是与计算精度有关系,但是并不明白到底是怎么计算的?先成为一个遗留问题吧!

3)若y为向量,x为矩阵,则必须满足:若y是行向量,则元素个数应与x的行数相等;若y是列向量,则需与x的列数相等:

x2 = tf.constant([[1.0, 2.0, 3.0], [1.0, 2.0, 3.0], [1.0, 2.0, 3.0], [1.0, 2.0, 3.0]])#3*4
y2 = tf.constant([1.0 , 1 , 2]) #3
z2 = tf.multiply(x2, y2)
y3 = tf.constant([[1.0],[1],[2],[3]]) #4
z3 = tf.multiply(x2, y2)

结果为:[[ 1.  2.  6.]                                 [[ 1.  2.  3.]
               [ 1.  2.  6.]                                   [ 1.  2.  3.]
               [ 1.  2.  6.]                                   [ 2.  4.  6.]
               [ 1.  2.  6.]]                                  [ 3.  6.  9.]]

2、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)—实现矩阵的乘法

1)a与b要有相同的数据类型,若类型不一致,会报与tf.multipy同样的错误;

2)若transpose_a为真,则在相乘之前需要进行转置操作即;

3)若adjoint_a为真,则在相乘之前需进行共轭和转置操作即

x = tf.constant([[1.0,2.0,3.0],[1.0,2.0,3.0]])
y = tf.constant([[0,1,2.0],[0,1,2.0]])
z1 = tf.matmul(x, y,transpose_a=True) #转置
z2 = tf.matmul(x, y,adjoint_a=True) #共轭转置

结果均为:[[  0.   2.   4.]
                   [  0.   4.   8.]
                   [  0.   6.  12.]]
共轭操作主要是将复数部分的虚部取反,所以在实数运算中,转置和共轭转置结果一样

4)若a中有大量的零,则可给a_is_sparse赋值为真,此时a会被处理为稀疏矩阵,即会采用一个更有效率的乘法公式;

5)若transpose_a和adjoint_a同时为真,则会引发ValueError。

Tensorflow函数学习笔记2---tf.multipy和tf.matmul相关推荐

  1. 【tensorflow.js学习笔记(1)】tf.js环境搭建及曲线拟合例子

    月初TensorFlow开发者大会上,谷歌正式发布了TensorFlow的JS版本tensorflow.js,并演示了几个很有意思的demo,展现了浏览器环境下也能进行深度学习任务的能力.tensor ...

  2. TensorFlow 深度学习笔记 TensorFlow实现与优化深度神经网络

    TensorFlow 深度学习笔记 TensorFlow实现与优化深度神经网络 转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnote ...

  3. TensorFlow Lite学习笔记

    TensorFlow Lite学习笔记 目录 TensorFlow Lite学习笔记 Tensorflow LIte Demo 模型固化freeze_graph和模型优化optimize_for_in ...

  4. tensorflow函数学习

    1.学习率相关 1.tf.train.piecewise_constant(global_step, boundaries,values) 设置区间,使得不同的step有不同的学习率.学习率的变化是阶 ...

  5. algorithm头文件下的常用函数-学习笔记

    algorithm头文件下的常用函数-学习笔记 max(x,y),min(x,y),abs(x) swap(x,y) reverse(it,it2) next_permutation() fill( ...

  6. c语言互质欧拉函数,互质与欧拉函数学习笔记

    互质与欧拉函数学习笔记 互质 定义: ​ \(\forall a,b\in \N\) ,若 \(gcd(a,b)=1\) ,则称 \(a,b\) 互质. 积性函数 定义: ​ 如果 \(a,b\) 互 ...

  7. tensorflow教程 学习笔记 之 Eager execution 急切执行

    链接:https://tensorflow.juejin.im/get_started/ 学习它主要为了解决yunyang tensorflow-yolov-3GPU多线程调用的问题 文章目录 坑1 ...

  8. tensorflow实战学习笔记(1)

    tensorflow提供了三种不同的加速神经网路训练的并行计算模式 (一)数据并行: (二)模型并行: (三)流水线并行: 主流深度学习框架对比(2017): 第一章 Tensorflow实现Soft ...

  9. TensorFlow神经网络学习笔记

    张量(tensor) 就是多维数组 阶代表张量的维数 维数 阶 名字 0-D 0 标量scalar 1-D 1 向量vector 2-D 2 矩阵 matrix n-D n 张量 tensor 张量可 ...

  10. Tensorflow深度学习之二十五:tf.py_func

    一.简介 def py_func(func, inp, Tout, stateful=True, name=None)   该函数重构一个python函数,并将其作为一个TensorFlow的op使用 ...

最新文章

  1. Python工具 | 9个用来爬取网络站点的 Python 库
  2. 参数化查询 但未提供该参数(将null插入数据库)
  3. Android app开发捷径,让你少去踩坑
  4. MySQL数据库性能优化的八种方式
  5. Castle Active Record for .NET2.0快速入门示例
  6. 手撕设计模式之「单例模式」(详细解析)
  7. idea 无法打开项目_Premiere出现quot;项目看来已经损坏,无法打开”的解决方法...
  8. 如何在uniapp中引入阿里字体图标
  9. MongoDB3.4为单独的数据库创建用户
  10. 事半功倍系列之javascript (转载)
  11. duilib整体框架认识
  12. Android系统源码目录解析
  13. 浏览器访问局域网共享文件服务器,局域网文件共享:Filezilla-IE 轻松解决(图)...
  14. idea设置Maven本地仓库
  15. Opencv配置环境变量
  16. sql列转行逗号连接_SQL 拼接字符串 列转行 | 学步园
  17. 京瓷打印机驱动安装教程,怎么安装方便点?
  18. BCH智能合约方案正式推出,我们的征途是星辰大海!
  19. 万豪集团发布《重塑餐饮业:行业洞察》报告,分享十大新兴趋势
  20. List集合关于Stream的操作

热门文章

  1. [4.6]-AutoSAR零基础学习-CAN通信协议
  2. 慎用某60软件清理垃圾,导致三星SSD T5不识别了,折腾了一下午,终于弄好了
  3. spss实现主成分分析
  4. linux 查看安装软件
  5. 软件测试 PreDay 决策表
  6. xps 转 pdf android版,xps文件转换pdf
  7. 计算机网络自顶向下方法 第四章 作业习题答案
  8. 关于Jqueryweui 的select联动用法
  9. DCMTK相关资料汇总
  10. ERP的模块流程/组织架构和其他基础知识