今天给大家介绍一个训练AI图片识别模型的步骤,这个模型可以识别十个种类,airplane,automobile,bird,cat,dear,dog,frog,horse,ship,truck,了解的朋友可能知道,这就是著名的cifar10的类别,还有一个种类较多的,称为cifar。
01训练过程
(0)导入需要的python库
导入数据集
参数说明:
batch_size:如果机器性能较差可以使用64,32,16等较小的批数据。
num_classes:是训练的模型的识别的类别,这里是10类。
epoches:AI模型的训练是一个循环迭代的过程,这里迭代12轮,如果发现测试的额准确率不增加则说明模型收敛或者过拟合了,可以减小epoch。
(1)训练数据集的准备
我们使用的是Keras本身提供的cifar10的数据集。
cifar10
cifar10数据集共有张彩色图像,这些图像分为10个类,每类张图,没张图像尺寸为是32*32。
数据集中有张用于训练,剩余的00用于测试。
cifar10
首先我们加载数据集,并分成训练集和测试集。
数据集处理
(2)搭建训练模型
使用Keras基于VGG16搭建模型网络,因为原本的VGG16网络比较大,所以我做了裁剪。
VGG16的介绍可以参照这里:
「深度学习面试之每日一问_」VGG的面试应该这么回答
模型1模型2
(3)训练代码
训练的损失函数使用的是交叉熵损失函数crossentropy。
优化器的使用的是Adadelta()。
最后使用model.save()保存训练的模型。
训练代码
这样就可以开始训练了。
训练过程展示
训练完成会得到模型:keras_cifar10_vgg16_cut_weight_init.h5。
训练模型迭代
02预测过程
(1)加载模型
加载模型
(2)传入图片得到预测结果
预测代码
预测结果展示
本地图片的预测结果
03结束语
今天的分享内容就结束了。
我将与您分享AI算法面试所需的准备知识。实际上,这不仅限于深度学习和计算机视觉,还包括模型算法原理,模型训练,模型转换优化,模型部署和深度学习框架。此外,还有C++,数据结构和编译底层等。
「算法面试之底层实现」从“HelloWorld”谈底层实现
「深度学习基础」深度学习卷积讲解及代码实现
一文了解深度学习面试应该如何准备
「AI算法面试」机器学习知识点概览
欢迎大家的