**
智能猫狗识别任务,用摄像头识别或者输入图片进行识别,软件界面均通过pyqt完成
**
代码分析
-
数据准备我使用的是kaggle数据集。用来训练的数据集包含600张的彩色图片,2个类别,每个类包含300张。对猫和狗两类进行预测。
-
网络配置定义了一个较简单的卷积神经网络。显示了其结构:输入的二维图像,先经过三次卷积层、池化层和Batchnorm,再经过全连接层,最后使用softmax分类作为输出层。
-
模型训练定义运算场所为 fluid.CUDAPlace(0)采用的二分类分类器,学习率为learning_rate=0.001把猫和狗的图片分别放在两个文件夹中,再分别读取,将其保存为list格式,并保存一个json文件# 说明的json文件的class_detail数据
class_detail_list[‘class_name’] = class_dir
class_detail_list[‘class_label’] = class_label
class_detail_list[‘class_test_images’] = test_sum
class_detail_list[‘class_trainer_images’] = trainer_sum
class_detail.append(class_detail_list)
class_label += 1
每一个Pass训练结束之后,再使用验证集进行验证,并打印出相应的损失值cost和准确率acc。 -
模型测试在测试之前,要对图像进行预处理。首先将图片大小调整为32*32,接着将图像转换成一维向量,最后再对一维向量进行归一化处理。通过fluid.io.load_inference_model,预测器会从params_dirname中读取已经训练好的模型,来对从未遇见过的数据进行预测。
运行过程截图主界面
训练模型
打开图片
打开摄像头
源代码:
复制上来页面就卡si了
详情请看
有图有真相