【开发】TensorFlow2.0新特性
上周在Sunnyvale举办的TensorFlow开发峰会上,Google发布了最新一版的TensorFlow: 2.0 Alpha版本。
它较原先的1.x版本有什么改进呢?我们知道作为一个算法研究工具,tensorflow相较于同类型产品,编码是较为复杂的,需要引入额外的“搭建阶段(Construction Phase)”来创建视图,创建会话,初始化变量等等。同样是一段计算一串等比数列(1,1/2,1/4...)前50项之和,PyTorch的代码只有区区几行:
而在Tensorflow则要经历环境和执行阶段的构建工作。
结构的复杂性同时会延长前期入门人员的学习曲线及增大后期Debug的排障难度。而在TensorFlow2.0中,产品组从用户角度出发,简化了流程,不再需要建立用户会话,与Python语言更加融合,并统一了API的调用接口。
举个例子,原来我们要计算两个数乘积的平方根,需要定义视图,创建会话,设定变量。
在TensorFlow2.0中,系统省去了建立会话的麻烦。
嗯,快速执行(Eager Execution)看似简化了编码的工作,那效率怎样呢?会比通过用户会话层交互更快么?经过TF团队大量案例的测试,答案是“几乎一样快”。我们知道视图是建立在会话之上的,但是通过优化视图,使其在接收大量训练数据的时候仍能保持较高的响应速度。这里我们可以将一系列算法定义为一个全局函数,以提高处理大量数据的效率。
在TensorFlow建立一个真正的数学模型时,我们知道以往可以通过tf.slim,tf.layers,Keras或者从原始算法开始做复合编译。TF2.0整合了之前复杂的函数接口,统一了原本形形色色的编译语言。若要支持上文提到的快速部署,API必须满足Keras接口标准。在早期需要动辄上百行的模型代码,现在也只要了了是几行就可实现,甚至比PyTorch还要精炼。
此外,TF2.0还支持与TensorBoard的调用交互。
这样我们在TensorBoard里可以直观看到即时的模型训练情况,适时地调整预期,查看偏移曲线。
对于任何一款工具的大版本变动,原先的开发人员必定需要花时间重新熟悉和了解,对于新人来说,拿TF2.0作为起步工具势必直接可以得到事半功倍的效果。
关注公众号“达摩院首座”,一起开源一起嗨!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
python中配置文件的使用方法
项目中使用的常量,我们把它收集在一个文件中,这就是配置文件。配置文件在项目中是非常必要的,它避免了项目中文件对常量的分散使用,让常量可以统一修改,避免造成修改不全面的问题。 常用的配置文件后缀是.ini、.conf、.py,当然还有使用.json、.txt的,推荐使用常用的.ini、.py,配置文件的名字一般是config便于理解和使用。 .ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置;.py的配置文件,在python项目中是作为一个包导入,严格来说不是配置文件,而是扩展包。 下面将介绍两类配置文件的使用,一类是.ini、.txt,另一类是.py。 .ini、.txt配置文件使用方法是一致的,只是一个后缀的区别,这里以ini配置文件来介绍,这类配置文件我们使用内置configparser库来使用,它可以实现配置文件的写入、更新、删除、读取等操作非常方便,建议使用这种方式。 新建一个config.ini的配置文件内容如下: [mysql]name=adminhost=255.255....
- 下一篇
无限极分类
$arr = array( 0=>[ 'id'=>1, 'name'=>'科技', 'pid'=>0, ], 1=>[ 'id'=>2, 'name'=>'人工智能', 'pid'=>1, ], 2=>[ 'id'=>3, 'name'=>'美食', 'pid'=>0 ], 3=>[ 'id'=>4, 'name'=>'重庆小面', 'pid'=>3 ], 4=>[ 'id'=>5, 'name'=>'机器人', 'pid'=>2 ] ); public function category($arr,$pid=0,$level=0){ //定义一个静态变量,存储一个空数组,用静态变量,是因为静态变量不会被销毁,会保存之前保留的值,普通变量在函数结束时,会死亡,生长周期函数开始到函数结束,再次调用重新开始生长 //保存一个空数组 static $list=array(); //通过遍历查找是否属于顶级父类,pid=0为顶级父类, foreach($arr as $val...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果