hi我是为你们的xio习操碎了心的和鯨社区男运营
大家好,挤牙膏挤了一个多月终于把tensorflow 2.x的教程做出来了。这个教程是使用tensorflow低阶api做的想学keras的高阶api可以直接看我的keras教程
TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算TensorFlow為张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统 TensorFlow可被用于语音识別或图像识别等多项机器学习和深度学习领域,对2011年开发的深度学习基础架构DistBelief进行了各方面的改进它可在小到一部智能手机、大到数千囼数据中心服务器的各种设备上运行。TensorFlow将完全开源任何人都可以用。(抄的)
另外我自己感觉TensorFlow挺难装的,所以建议大家可以用线上环境先学起来点击下方在线运行
2.创建一个3x3的0常量张量
3.根据上题张量的形状,创建一个一样形状的1常量张量
4.创建一个2x3数值全为6的常量张量
5.創建3x3随机的随机数组
6.通过二维数组创建一个常量张量
7.取出张量中的numpy数组
8.从1.0-10.0等间距取出5个数形成一个常量张量
9.从1开始间隔2取1个数字,到大等於10为止
11.将两个张量做矩阵乘法
14.将一个12x1张量变形成3行的张量
这一部分将会实现 在 处的导数
15.新建一个1x1变量值为1
16.新建一个GradientTape追踪梯度,把要微分嘚公式写在里面
17.求y对于x的导数
这一部分将生成添加随机噪声的沿100个的数据点再对这些数据点进行拟合。
19.创建需要预测的参数W,b(变量张量)
20.创建线性回归预测模型
21.创建损失函数此处采用真实值与预测值的差的平方,公式为:
23.对loss分别求关于W,b的偏导数
25.以上就是单次迭代的过程,现在我们要继续循环迭代20次并且记录每次的loss,W,b
这部分将会在CIFAR10数据集上,训练LeNet5模型
CIFAR10数据集为32x32的3通道图像标签共10个种类
26.定义第①步:卷積层的参数
所以需要定义5×5×3×6个权重变量,和6个bias变量
27.定义第③步:卷积层的参数
所以需要定义5×5×6×16个权重变量和16个bias变量
28.定义第第⑤步:全连接层的参数
29.定义第⑥步:全连接层的参数
30.定义第⑦步:全连接层的参数
(随便搞点数据,验证一下能不能跑通) 39.随机一对x,y数据x嘚形状为(1,32,32,3),y的形状为(10,)
将数据送入模型进行反向传播
因为前面实验的时候修改过参数所以需要重新初始化所有参数
然后再重新定义一个优化器
简简单单随便写一个算准确率的函数
46.把数据送入模型,开始训练训练集迭代5遍,每遍分成25个batch数据集每迭代完一遍,输出一次训练集上的准确率
47.在测试集上进行预测
取一些數据查看预测结果
这一部分,我们实现最简单的保存&读取变量值
48.新建一个Checkpoint对象并且往里灌一个刚刚训练完的数据
49.利用save()嘚方法保存,并且记录返回的保存路径