基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)

基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)

  • jupyter notebook的图像识别与分类
    • ip地址的查看
    • 进入到测试数据的目录下
      • jupyter notebook的打开
    • jupyter notebook运行测试代码
      • 打开模型训练的分析结果图
    • 通过训练出来的模型进行图片分类

jupyter notebook的图像识别与分类

本教程主要是在jupyter notebook进行测试一个图像识别与分类的小例子(flower文件里的flower包含roses和sunflowers的图片)

ip地址的查看

我可以首先使用“ifconfig”命令查看并复制ip地址
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第1张图片

进入到测试数据的目录下

在这里插入图片描述
flower文件夹的内容提取码:4hjb

jupyter notebook的打开

我们可以通过如下命令打开jupyter notebook:

jupyter notebook --ip 192.168.10.129

基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第2张图片
这里需要注意两点的是:一、ip地址每个人都不同,请自行修改ip地址,再执行命令。二、执行该命令会以当前目录为根目录打开jupyter book。

jupyter notebook运行测试代码

基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第3张图片
该代码包含了训练和测试模型的代码,点击可以进去查看源代码。

接着,我们可以通过这个“重启服务”这个按钮,重新执行该页面的所有的代码
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第4张图片
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第5张图片

代码执行完之后"[ ]"里的 “ * ” 会变成执行顺序的标号,未执行的代码“[ ]”内依旧是“ * ”
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第6张图片
我们也可以从代码执行的结果中看出“val_loss”和“val_acc”这两个值
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第7张图片
注意:执行完代码最好要在“服务”中进行手动“关闭””,以免一直占用着内存、CPU、GPU。

代码执行完,我们返回到根目录,可以看出执行完的代码变成了绿色,下方出现了5个以.hdf5为后缀的文件,这5个文件是刚才代码训练出来的5个模型。
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第8张图片
第一列的数字是生成模型的顺序
在这里插入图片描述
第二列是模型的训练过程中的损失率(loss)
在这里插入图片描述
第三列是模型的训练过程中的准确率(acc)
在这里插入图片描述

打开模型训练的分析结果图

模型训练结束后,根目录会有一个“tensorboard”的文件夹,里面是tensorboard的一些信息,不能点击打开。
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第9张图片
我们可以通过Chrome浏览器打开tensorboard,这样可以更直观的看到训练模型的结果,先执行如下命令获取端口:

tensorboard --logdir tensorboard

这里需要注意的是:jupyter notebook运行过程中的运行界面是不能终止的,如下图:基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第10张图片
那么,我们可以**新建标签页或者新建窗口**去执行此代码

输入命令后,我们可以看到访问tensorboard的端口是“6006
在这里插入图片描述
那么,我们可以通过ip地址端口组成的网址在Chrome浏览器去访问tensorboard

192.168.10.129:6006

基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第11张图片
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第12张图片

通过训练出来的模型进行图片分类

我们可以用一个准确度较高的模型去对flower文件夹里的图片进行一个分类。

第一步: 复制模型的名称
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第13张图片
第二步: 点击PredictAndMove.ipynb进到源代码
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第14张图片
第三步:将训练出来的模型名称粘贴到下图的方框处
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第15张图片
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第16张图片
接着点击
重启服务

基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第17张图片
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第18张图片
这里运行出来的结果是输出的是网络模型TrainAndTest_VGG.ipynb的input
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第19张图片
第四步: 代码执行结束后,回到根目录,我们可以看到多了一个文件夹“predict”,这是一个已经将图片分好类的文件夹。
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第20张图片
我们可以点击进去看看
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第21张图片
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第22张图片
我们随便点击一张图片可以看到文件夹名是“roses”,但点击开来的图片是“向日葵”,并不是“玫瑰花”。
那么,我可以修改“PredictAndMove.ipynb”文件的源代码,将以下这两个名称调转一下,然后“predict”的文件删除,再运行一次“PredictAndMove.ipynb”源代码,即可得到“roses”对应的是“玫瑰花”,“sunflowers”对应的是“向日葵”。
基于jupyter notebook的tensorflow与OpenCV的图像识别与分类(Ubuntu环境下)_第23张图片

以下是一些关于jupyter notebook的相关资料:
jupyter notebook的相关简介
jupyter notebook的相关操作(1)
jupyter notebook的相关操作(2)

你可能感兴趣的:(人工智能,深度学习,图像识别,深度学习,人工智能,tensorflow,OpenCV,图像识别)