tensorflow2.0中的Broadcasting用法
Broadcasting是tensorflow2.0中一个很重要的用法,张量维度扩张的手段,但是没有在数据层面上的复制。是一种数据优化的手段。高效且直观。
Broadcasting的机制
①进行维度的扩展。
②不进行数据的复制,不另外开辟空间。
③本质和tf.tile不一样。
④tf.broadcast_to
主要过程
1.给需要位置插入一个维度,例如[2,2,3,4]+[3,4]的运算,其中[3,4]这组数据,首先扩展为[1,1,3,4].
2.给dim为1的扩展为所需要的数量。上面那个例子。[3,4]->[1,1,3,4]之后,[1,1,3,4]->[2,2,3,4]
如图所示:
注意:
①维度是从小到大的,简言之,是从右往左匹配的。
②需要扩展的dim必须为1,否则就算是成倍数也不可以。[2,3]+[4,3]是运行错误的。
优点
①能够真实的解决需要。
②节省开销。
几种可能出现的情况
Solution 1:[1,32,1,1]->[4,32,4,4]
Solution 2:[14,14]->[1,1,14,14]->[4,32,14,14]
Solution 3:[4,32,14,14]+[2,32,14,14]会出现错误,理由如下:
样例
tf.broadcast_to
注意:tf.broadcast_to 是两个已存在的 tensor 之间的 转换,而 tf.**_like 初始化创建。
Broadcast VS Tile
优势:
①Broadcasting与内存无关。
②Broadcasting使用比较简洁。
tensorflow2.0中的Broadcasting用法相关推荐
- tensorflow2.0中dataset API 总结
tensorflow2.0中data API 总结 tf.data.Dataset.list_files(filename) 参数:filename:文件路径或者文件路径列表,如:'-/csvData ...
- tensorflow2.0中valid_data的作用是在训练的过程对对比训练数据与测试数据的准确率 损失率,便于判断模型的训练效果:是过拟合还是欠拟合(过拟合)
tensorflow2.0中valid_data的作用是在训练的过程对对比训练数据与测试数据的准确率,便于判断模型的训练效果:是过拟合还是欠拟合 过拟合:训练数据的准确率较高而测试数据的准确率较低 欠 ...
- 【吴恩达团队】TensorFlow2.0中的自然语言处理
视频地址:[吴恩达团队Tensorflow2.0实践系列课程第三课]TensorFlow2.0中的自然语言处理 Tokenizer 本阶段完成的工作: 构建语料库词典:{word:integer}\{ ...
- VB6.0中关于setfocus用法
setfocus语法含义为设定焦点 例:在button内设定text.setfocus,在运行后单击button按钮即可将焦点转移至text文本框内.
- TensorFlow2.0系列教程集合版(附PDF下载)
文章来源于机器学习算法与Python实战,作者奥辰 TensorFlow2.0(1):基本数据结构--张量 TensorFlow2.0(2):数学运算 TensorFlow2.0(3):张量排序.最大 ...
- 【TensorFlow2.0】(4) 维度变换、广播
各位同学好,今天我和大家分享一下TensorFlow2.0中有关数学计算的相关操作,主要内容有: (1) 改变维度:reshape():(2) 维度转置:transpose():(3) 增加维度:ex ...
- mybatis-plus对datetime返回去掉.0_华为AI认证-TensorFlow2.0编程基础
参考<HCIA-AI2.0培训教材><HCIA-AI2.0实验手册> 认证要求: 了解TensorFlow2.0是什么以及其特点 掌握TensorFlow2.0基础和高阶操作方 ...
- Tensorflow2.0实现对抗生成网络(GAN)
在这篇文章中,我们使用Tensorflow2.0来实现GAN,使用的数据集是手写数字数据集. 引入需要的库 import tensorflow as tf from tensorflow import ...
- 【TensorFlow2.0】(7) 张量排序、填充、复制、限幅、坐标选择
各位同学好,今天和大家分享一下TensorFlow2.0中的一些操作.内容有: (1)排序 tf.sort().tf.argsort().top_k():(2)填充 tf.pad():(3)复制 tf ...
最新文章
- 关于python和anaconda的一些基础认识
- networkx 有向图强连通_leetcode刷题(四):搜索(深度优先搜索,广度优先搜索)拓扑排序,强连通分量...
- 干货丨机器学习入门(经典好文,强烈推荐)
- 性能分析--视图优化
- 解决JDBC连接MySQL时发出的警告WARN: Establishing SSL connection without server‘s identity verification ...
- verilog中级别到底是什么?级别的分类是什么???
- 初步了解并使用正则表达式 (REGular EXPression)
- string基本字符系列容器
- 前端学习(2528):一个简单的vue app
- 解密多媒体封装解封装框架
- C#的TextBox控件输入测试-只允许输入数字的测试:
- java sequencer_UVM学习笔记--sequence和sequencer(转)
- 【Codeforces】【161Div2】
- Android高手笔记-D8, R8编译优化
- 浮点数的IEEE745标准表示
- linux魔兽世界黑屏,在UBUNTU下玩魔兽世界并不轻松。许多问题无法自己解决,请有兴趣的...
- pulp.apis.core.PulpSolverError: PuLP: cannot execute glpsol.exe的一种解决方案
- 什么是数据结构,都有哪些数据结构
- 一个星期使用三种不同的开发模式完成资讯类App——《听风资讯》
- 华为携手思迈特软件成立BYOD移动办公联盟
热门文章
- c语言选择夹答案,单片机串口通讯制作说明
- mysql 返回随机行_从mysql数据库返回随机行而不使用rand()
- chrome设置微信ua_新支付宝json_ua分析
- 基线管理之MariaDB安全配置
- mail ru android,mail ru app下载
- mysql mysql_row 整行数据_有关mysql中ROW_COUNT()的小例子
- visual studio 2019、2017、2015下载网址
- opengl编程指南第8版源码编译详细说明
- Android开发之虹软人脸识别活体检测SDK包Bitmap转NV21方法
- Android开发之解决ListView和ScrollView滑动冲突的方法