无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。人工智能教程

10分钟了解下图像识别库imageAI,请看上篇文章。点这里

ImageAI 提供4种不同的算法及模型来执行自定义预测模型训练,通过以下简单几个步骤即可实现自定义预测模型训练。提供用于自定义预测模型训练的4种算法包括 SqueezeNet,ResNet,InceptionV3 和 DenseNet。您可以将其中一种算法加载到imageai.Prediction.Custom.CustomImagePrediction类中,这允许您在任何对象/人的图像集上训练您自己的模型。训练过程生成一个 JSON 文件,用于映射图像数据集和许多模型中的对象类型。然后,您就可以使用生成的 JSON 文进行高精度自定义图像预测。

安装imageAI 库,采用清华镜像源,python版本:3.6.9

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  imageAI

安装tensorflow_gpu,采用清华镜像源,python版本:3.6.9

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  tensorflow_gpu==1.14

要进行自定义预测模型训​​练,您需要准备要用于训练的图像。您需要按如下方式提供图像:

创建一个数据集文件夹并命名(如 pets)
在数据集文件中创建一个名称为 train 的子文件夹
在数据集文件中创建一个名称为 test 的子文件夹
在 train 文件夹中,为每个你要训练的对象创建文件夹并命名(如 dog,cat,squirrel,snake)
在 test 文件夹中,为每个你要训练的对象创建文件夹并命名(如 dog,cat,squirrel,snake)
把每个对象的图像放在 train 文件夹下对应名称的子文件夹,这些图像是用于训练模型的图像,为了训练出精准度较高的模型,我建议每个对象收集大约500张以上图像。
把每个对象用于测试的图像放在 test 文件夹下对应名称的子文件夹,为了训练出精准度较高的模型,我建议每个对象用于测试的图像在100~200张。用于训练模型时在这些图像中识别出要训练的对象。
按照上述步骤操作完成后,图像数据集文件夹的结构应如下所示:

pets >
train >> dog >>> dog_train_images>> cat >>> cat_train_images>> squirrel >>> squirrel_train_images>> snake >> snake_train_images
test  >> dog >>> dog_test_images>> cat >>> cat_test_images>> squirrel >>> squirrel_test_images>> snake >>> snake_test_images

训练代码:
resnet._train.py

from imageai.Prediction.Custom import ModelTraining
model_trainer = ModelTraining()
model_trainer.setModelTypeAsResNet()
model_trainer.setDataDirectory("./pets/")
model_trainer.trainModel(num_objects=4, num_experiments=100, enhance_data=True, batch_size=32, show_network_summary=True)

没错! 只需 5 行代码,就可以在您的数据集上使用所支持的4种深度学习算法来训练自定义模型。现在让我们来看看上面的代码是如何工作的:

from imageai.Prediction.Custom import ModelTraining

model_trainer = ModelTraining()
model_trainer.setModelTypeAsResNet()
model_trainer.setDataDirectory(“pets”)

在上面的代码中,第一行导入 ImageAI 的ModelTraining类,第二行创建了ModelTraining类的新实例,第三行将模型类型设置为ResNet,第四行设置我们想要训练的数据集的路径。

model_trainer.trainModel(num_objects=4, num_experiments=100, enhance_data=True, batch_size=32, show_network_summary=True)

在上面的代码中,我们开始了模型训练,参数如下:

num_objects:该参数用于指定图像数据集中对象的数量
num_experiments:该参数用于指定将对图像训练的次数,也称为epochs
enhance_data(可选):该参数用于指定是否生成训练图像的副本以获得更好的性能。
batch_size:该参数用于指定批次数量。由于内存限制,需要分批训练,直到所有批次训练集都完成为止。
show_network_summary:该参数用于指定是否在控制台中显示训练的过程。

【深度学习--图像分类】imageAI自定义模型训练相关推荐

  1. 【深度学习】Tensorboard可视化模型训练过程和Colab使用

    [深度学习]Tensorboard可视化模型训练过程和Colab使用 文章目录 1 概述 2 手撸代码实现 3 Colab使用3.1 详细步骤3.2 Demo 4 总结 1 概述 在利用TensorF ...

  2. 腾讯优图吴永坚:迈向深度学习,我们面临模型训练与推荐的双重考验

    整理 | 琥珀 出品 | AI 科技大本营 对腾讯优图的发展历程,吴永坚表示,优图是非常幸运的,幸运的同时也知道优图选对了方向,只要坚持,还是会有收获的. 12 月 15 日,以"新趋势.新 ...

  3. Colab下Imageai自定义模型训练和目标检测

    本文运行再colab环境下 目录 本文运行再colab环境下 1.准备 a.库的安装 b.colab环境的准备 2.模型的训练 a.准备数据集 b.训练 3.通过模型进行目标检测 4.注意: 1.准备 ...

  4. pytorch 训练过程acc_深度学习Pytorch实现分类模型

    今天将介绍深度学习中的分类模型,以下主要介绍Softmax的基本概念.神经网络模型.交叉熵损失函数.准确率以及Pytorch实现图像分类.01Softmax基本概念 在分类问题中,通常标签都为类别,可 ...

  5. 【深度学习】——利用pytorch搭建一个完整的深度学习项目(构建模型、加载数据集、参数配置、训练、模型保存、预测)

    目录 一.深度学习项目的基本构成 二.实战(猫狗分类) 1.数据集下载 2.dataset.py文件 3.model.py 4.config.py 5.predict.py 一.深度学习项目的基本构成 ...

  6. 深度学习图像分类(六):Stochastic_Depth_Net

    深度学习图像分类(六):Stochastic_Depth_Net 文章目录 深度学习图像分类(六):Stochastic_Depth_Net 前言 一.Motivation 二.核心结构:Drop P ...

  7. 深度学习 图像分类_深度学习时代您应该阅读的10篇文章了解图像分类

    深度学习 图像分类 前言 (Foreword) Computer vision is a subject to convert images and videos into machine-under ...

  8. 人工智能发展到GPT4经历了什么,从专家系统到机器学习再到深度学习,从大模型到现在的GPT4

    大家好,我是微学AI,今天给大家讲一下人工智能的发展,从专家系统到机器学习再到深度学习,从大模型到现在的GPT4,讲这个的目的是让每个人都懂得人工智能,每个人都懂得人工智能的发展,未来人工智能是大方向 ...

  9. 深度学习之“制作自定义数据”--torch.utils.data.DataLoader重写构造方法。

    深度学习之"制作自定义数据"–torch.utils.data.DataLoader重写构造方法. 前言: ​ 本文讲述重写torch.utils.data.DataLoader类 ...

  10. PyTorch深度学习图像分类--猫狗大战

    PyTorch深度学习图像分类--猫狗大战 1.背景介绍 2.环境配置 2.1软硬件清单 2.1.1配置PyPorch 2.1.2开发软件 2.1.3 显卡 2.2 数据准备 3 基础理论 3.1Py ...

最新文章

  1. 转:要么学习,要么走人!直面竞争的30条生存原则
  2. python画爱心原理_程序员式优雅表白,教你用python代码画爱心
  3. ODP.NET 10.2.0.20发布了
  4. 计算机科学825,2017年河南大学计算机与信息工程学院825专业基础课(软件工程导论、数据结构)之数据结构考研题库...
  5. http://hudeyong926.iteye.com/blog/977152
  6. 求一个张量的梯度_张量流中离散策略梯度的最小工作示例2 0
  7. CMake使用介绍(2)
  8. 值得借鉴的新年海报设计|PSD分层模板,图层素材随心用
  9. node html响应头,nodejs 中http请求头,响应头
  10. 苹果Mac开启root用户及切换到root用户的方法
  11. 阿里云ubuntu服务器安装使用mysql并配置远程连接记录
  12. Python3中Dict不能在循环中删除元素
  13. 大一计算机实验报告excle,excel实验报告总结
  14. Python爬虫-微信定时消息发送
  15. 色彩空间(一):色彩空间基础
  16. 教你添加百度分享按钮
  17. make_blobs
  18. html 拉伸幕,html 对 div 进行 拉伸 拖拽
  19. Java锁深入理解5——共享锁
  20. VS2015新建MFC工程默认存储位置,默认位置修改

热门文章

  1. 商城前端模板_新零售时代如何玩转微信商城
  2. suitecrm上传附件限制修改
  3. java项目组会议纪要
  4. 等保2.0二级安全要求
  5. R语言数据分析及可视化实战
  6. 映美精(IMAGINGSOURCE)相机与OPENCV库(包含工程源码)
  7. unity 移动设备查看监控视频
  8. 奈奎斯特判据的个人理解
  9. html播放m3u8格式转换,m3u8格式如何播放
  10. php云erp进销存v8手机端,PHP仿金蝶云ERP进销存V8网络多仓版源码