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用法相关推荐

  1. tensorflow2.0中dataset API 总结

    tensorflow2.0中data API 总结 tf.data.Dataset.list_files(filename) 参数:filename:文件路径或者文件路径列表,如:'-/csvData ...

  2. tensorflow2.0中valid_data的作用是在训练的过程对对比训练数据与测试数据的准确率 损失率,便于判断模型的训练效果:是过拟合还是欠拟合(过拟合)

    tensorflow2.0中valid_data的作用是在训练的过程对对比训练数据与测试数据的准确率,便于判断模型的训练效果:是过拟合还是欠拟合 过拟合:训练数据的准确率较高而测试数据的准确率较低 欠 ...

  3. 【吴恩达团队】TensorFlow2.0中的自然语言处理

    视频地址:[吴恩达团队Tensorflow2.0实践系列课程第三课]TensorFlow2.0中的自然语言处理 Tokenizer 本阶段完成的工作: 构建语料库词典:{word:integer}\{ ...

  4. VB6.0中关于setfocus用法

    setfocus语法含义为设定焦点 例:在button内设定text.setfocus,在运行后单击button按钮即可将焦点转移至text文本框内.

  5. ​TensorFlow2.0系列教程集合版(附PDF下载)

    文章来源于机器学习算法与Python实战,作者奥辰 TensorFlow2.0(1):基本数据结构--张量 TensorFlow2.0(2):数学运算 TensorFlow2.0(3):张量排序.最大 ...

  6. 【TensorFlow2.0】(4) 维度变换、广播

    各位同学好,今天我和大家分享一下TensorFlow2.0中有关数学计算的相关操作,主要内容有: (1) 改变维度:reshape():(2) 维度转置:transpose():(3) 增加维度:ex ...

  7. mybatis-plus对datetime返回去掉.0_华为AI认证-TensorFlow2.0编程基础

    参考<HCIA-AI2.0培训教材><HCIA-AI2.0实验手册> 认证要求: 了解TensorFlow2.0是什么以及其特点 掌握TensorFlow2.0基础和高阶操作方 ...

  8. Tensorflow2.0实现对抗生成网络(GAN)

    在这篇文章中,我们使用Tensorflow2.0来实现GAN,使用的数据集是手写数字数据集. 引入需要的库 import tensorflow as tf from tensorflow import ...

  9. 【TensorFlow2.0】(7) 张量排序、填充、复制、限幅、坐标选择

    各位同学好,今天和大家分享一下TensorFlow2.0中的一些操作.内容有: (1)排序 tf.sort().tf.argsort().top_k():(2)填充 tf.pad():(3)复制 tf ...

最新文章

  1. 关于python和anaconda的一些基础认识
  2. networkx 有向图强连通_leetcode刷题(四):搜索(深度优先搜索,广度优先搜索)拓扑排序,强连通分量...
  3. 干货丨机器学习入门(经典好文,强烈推荐)
  4. 性能分析--视图优化
  5. 解决JDBC连接MySQL时发出的警告WARN: Establishing SSL connection without server‘s identity verification ...
  6. verilog中级别到底是什么?级别的分类是什么???
  7. 初步了解并使用正则表达式 (REGular EXPression)
  8. string基本字符系列容器
  9. 前端学习(2528):一个简单的vue app
  10. 解密多媒体封装解封装框架
  11. C#的TextBox控件输入测试-只允许输入数字的测试:
  12. java sequencer_UVM学习笔记--sequence和sequencer(转)
  13. 【Codeforces】【161Div2】
  14. Android高手笔记-D8, R8编译优化
  15. 浮点数的IEEE745标准表示
  16. linux魔兽世界黑屏,在UBUNTU下玩魔兽世界并不轻松。许多问题无法自己解决,请有兴趣的...
  17. pulp.apis.core.PulpSolverError: PuLP: cannot execute glpsol.exe的一种解决方案
  18. 什么是数据结构,都有哪些数据结构
  19. 一个星期使用三种不同的开发模式完成资讯类App——《听风资讯》
  20. 华为携手思迈特软件成立BYOD移动办公联盟

热门文章

  1. c语言选择夹答案,单片机串口通讯制作说明
  2. mysql 返回随机行_从mysql数据库返回随机行而不使用rand()
  3. chrome设置微信ua_新支付宝json_ua分析
  4. 基线管理之MariaDB安全配置
  5. mail ru android,mail ru app下载
  6. mysql mysql_row 整行数据_有关mysql中ROW_COUNT()的小例子
  7. visual studio 2019、2017、2015下载网址
  8. opengl编程指南第8版源码编译详细说明
  9. Android开发之虹软人脸识别活体检测SDK包Bitmap转NV21方法
  10. Android开发之解决ListView和ScrollView滑动冲突的方法