Tensorflow函数学习笔记2---tf.multipy和tf.matmul
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相关推荐
- 【tensorflow.js学习笔记(1)】tf.js环境搭建及曲线拟合例子
月初TensorFlow开发者大会上,谷歌正式发布了TensorFlow的JS版本tensorflow.js,并演示了几个很有意思的demo,展现了浏览器环境下也能进行深度学习任务的能力.tensor ...
- TensorFlow 深度学习笔记 TensorFlow实现与优化深度神经网络
TensorFlow 深度学习笔记 TensorFlow实现与优化深度神经网络 转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnote ...
- TensorFlow Lite学习笔记
TensorFlow Lite学习笔记 目录 TensorFlow Lite学习笔记 Tensorflow LIte Demo 模型固化freeze_graph和模型优化optimize_for_in ...
- tensorflow函数学习
1.学习率相关 1.tf.train.piecewise_constant(global_step, boundaries,values) 设置区间,使得不同的step有不同的学习率.学习率的变化是阶 ...
- algorithm头文件下的常用函数-学习笔记
algorithm头文件下的常用函数-学习笔记 max(x,y),min(x,y),abs(x) swap(x,y) reverse(it,it2) next_permutation() fill( ...
- c语言互质欧拉函数,互质与欧拉函数学习笔记
互质与欧拉函数学习笔记 互质 定义: \(\forall a,b\in \N\) ,若 \(gcd(a,b)=1\) ,则称 \(a,b\) 互质. 积性函数 定义: 如果 \(a,b\) 互 ...
- tensorflow教程 学习笔记 之 Eager execution 急切执行
链接:https://tensorflow.juejin.im/get_started/ 学习它主要为了解决yunyang tensorflow-yolov-3GPU多线程调用的问题 文章目录 坑1 ...
- tensorflow实战学习笔记(1)
tensorflow提供了三种不同的加速神经网路训练的并行计算模式 (一)数据并行: (二)模型并行: (三)流水线并行: 主流深度学习框架对比(2017): 第一章 Tensorflow实现Soft ...
- TensorFlow神经网络学习笔记
张量(tensor) 就是多维数组 阶代表张量的维数 维数 阶 名字 0-D 0 标量scalar 1-D 1 向量vector 2-D 2 矩阵 matrix n-D n 张量 tensor 张量可 ...
- Tensorflow深度学习之二十五:tf.py_func
一.简介 def py_func(func, inp, Tout, stateful=True, name=None) 该函数重构一个python函数,并将其作为一个TensorFlow的op使用 ...
最新文章
- Python工具 | 9个用来爬取网络站点的 Python 库
- 参数化查询 但未提供该参数(将null插入数据库)
- Android app开发捷径,让你少去踩坑
- MySQL数据库性能优化的八种方式
- Castle Active Record for .NET2.0快速入门示例
- 手撕设计模式之「单例模式」(详细解析)
- idea 无法打开项目_Premiere出现quot;项目看来已经损坏,无法打开”的解决方法...
- 如何在uniapp中引入阿里字体图标
- MongoDB3.4为单独的数据库创建用户
- 事半功倍系列之javascript (转载)
- duilib整体框架认识
- Android系统源码目录解析
- 浏览器访问局域网共享文件服务器,局域网文件共享:Filezilla-IE 轻松解决(图)...
- idea设置Maven本地仓库
- Opencv配置环境变量
- sql列转行逗号连接_SQL 拼接字符串 列转行 | 学步园
- 京瓷打印机驱动安装教程,怎么安装方便点?
- BCH智能合约方案正式推出,我们的征途是星辰大海!
- 万豪集团发布《重塑餐饮业:行业洞察》报告,分享十大新兴趋势
- List集合关于Stream的操作