tensorflow2.4--1.框架介绍

前言

虽然1.x版本tensorflow有很多项目都基于此构建,然而随着2.x版本的推出,很多架构已经发生了改变,代码发生了改变,同时很多模组已经废弃不用或者更新,tensorflow1.x已经不能再兼容最新的项目,与时俱进是必要的,因此开一个栏目用于介绍tensorflow2.4带来的变化与应用方式
讲解原理为主,实践为辅

历史

在这里插入图片描述
在这里插入图片描述

随着2015年出来比较早的是scikit-learn ,然而他的问题是不支持gpu,他是机器学习框架,对于深度学习则没有设计
随后第一个深度学习框架caffe出世,然而他不支持自动求导,也就是每一个网络层的传播参数需要自己定义
keras只是提供了一系列接口,并非由他自己实现
在这里插入图片描述
后来pyTorch基于Torch发展而来作为前端,caffe2则变成了pyTorch的一个组件进入后端
而tensorflow开发借鉴了很多theano,看做是基于其开发而来
chainer起源于日本,pyTorch和tensorflow对其都有很多借鉴
在这里插入图片描述
2017年,tensorflow由0.1进入1.0版本,正式发布,很多属性和工具都开始完善,模块由tf.contrib集成开始分散到各个模块,增加了tf.debug工具等
在这里插入图片描述
tensorflow1.0代码风格和torch对比,torch风格更接近python代码风格
而tensorflow还有grah概念,以及运行图,风格很像vhdl硬件编程,代表链接好各个电路后通电运行,然而这非常复杂
在这里插入图片描述
为了推广tensorflow,2.x版本做了很多改变

在这里插入图片描述
去掉session概念,实时控制概念,分支控制概念(必须使用tensorflow自己的if-else进行搭建,非常复杂),变量引用逻辑等
优化好后
在这里插入图片描述

在这里插入图片描述
keras已经被google收购了,其是类似api,tensorflow有自己的keras实现,tf.keras
在这里插入图片描述
为了测试时间对比可靠性,在此之前做一个warmup,为了GPU初始化数据,这个是当做gpu的热场时间
可以看到热场之后,gpu速度相比于cpu速度提升了1200多倍
在这里插入图片描述
很多时候神经网络会用来求导,其有函数十分方便,怎么求导呢?
其实就是求导数,高中知识
在这里插入图片描述
大量api可以十分方便的调用网络层,而不用亲自是实现其内部的逻辑

安装tensorflow

看https://blog.csdn.net/lidashent/article/details/129217889

猜你喜欢

转载自blog.csdn.net/lidashent/article/details/129269441