TensorFlow 卷积神经网络之猫狗识别(二)
本文是TensorFlow 卷积神经网络之猫狗识别
的姊妹篇,是加载上一篇博客训练好的模型,进行猫狗识别
本文逻辑:
- 我从网上下载了十几张猫和狗的图片,用于检验我们训练好的模型。
- 处理我们下载的图片
- 加载模型
- 将图片输入模型进行检验
代码如下:
#coding=utf-8
import tensorflow as tf
from PIL import Image
import matplotlib.pyplot as plt
import input_data
import numpy as np
import model
import os #从指定目录中选取一张图片
def get_one_image(train): files = os.listdir(train)n = len(files)ind = np.random.randint(0,n)img_dir = os.path.join(train,files[ind]) image = Image.open(img_dir) plt.imshow(image)plt.show()image = image.resize([208, 208]) image = np.array(image)return image def evaluate_one_image(): #存放的是我从百度下载的猫狗图片路径train = '/Users/yangyibo/GitWork/pythonLean/AI/猫狗识别/testImg/' image_array = get_one_image(train) with tf.Graph().as_default(): BATCH_SIZE = 1 # 因为只读取一副图片 所以batch 设置为1N_CLASSES = 2 # 2个输出神经元,[1,0] 或者 [0,1]猫和狗的概率# 转化图片格式image = tf.cast(image_array, tf.float32) # 图片标准化image = tf.image.per_image_standardization(image)# 图片原来是三维的 [208, 208, 3] 重新定义图片形状 改为一个4D 四维的 tensorimage = tf.reshape(image, [1, 208, 208, 3]) logit = model.inference(image, BATCH_SIZE, N_CLASSES) # 因为 inference 的返回没有用激活函数,所以在这里对结果用softmax 激活logit = tf.nn.softmax(logit) # 用最原始的输入数据的方式向模型输入数据 placeholderx = tf.placeholder(tf.float32, shape=[208, 208, 3]) # 我门存放模型的路径logs_train_dir = '/Users/yangyibo/GitWork/pythonLean/AI/猫狗识别/saveNet/' # 定义saver saver = tf.train.Saver() with tf.Session() as sess: print("从指定的路径中加载模型。。。。")# 将模型加载到sess 中 ckpt = tf.train.get_checkpoint_state(logs_train_dir) if ckpt and ckpt.model_checkpoint_path: global_step = ckpt.model_checkpoint_path.split('/')[-1].split('-')[-1] saver.restore(sess, ckpt.model_checkpoint_path) print('模型加载成功, 训练的步数为 %s' % global_step) else: print('模型加载失败,,,文件没有找到') # 将图片输入到模型计算prediction = sess.run(logit, feed_dict={x: image_array})# 获取输出结果中最大概率的索引max_index = np.argmax(prediction) if max_index==0: print('猫的概率 %.6f' %prediction[:, 0]) else: print('狗的概率 %.6f' %prediction[:, 1])
# 测试
evaluate_one_image()
/Users/yangyibo/GitWork/pythonLean/AI/猫狗识别/testImg/ 存放的是我从百度下载的猫狗图片
执行结果:
因为从testimg 中选取图片是随机的,所以每次执行的结果不同
从指定的路径中加载模型。。。。
模型加载成功, 训练的步数为 11999
狗的概率 0.964047
[Finished in 6.8s]
代码地址:https://github.com/527515025/My-TensorFlow-tutorials/blob/master/猫狗识别/evaluateCatOrDog.py
欢迎star。
TensorFlow 卷积神经网络之猫狗识别(二)相关推荐
- 【实战】kaggle猫狗大战-卷积神经网络实现猫狗识别
卷积神经网络:猫狗识别 目录 第一步:导入数据集 第二步:数据预处理 第三步:迁移学习 第四步:模型保存 第五步:模型融合 第一步:导入数据集 kaggle猫狗大战数据集地址:kaggle # 将ka ...
- 基于卷积神经网络的猫狗识别
卷积神经网络的猫狗识别 任务需求 环境配置 识别猫狗实例 首先导入库 数据预处理: 读取数据: 定义网络: 调整机器学习率 定义训练过程 训练开始 训练结果 用于测试代码 结果 任务需求 按照 htt ...
- 毕设:基于CNN卷积神经网络的猫狗识别、狗品种识别(Tensorflow、Keras、Kaggle竞赛)
基于卷积神经网络的图像识别算法及其应用研究 毕业快一年了,拿出来分享给大家,我和网上唯一的区别就是,我能够同时实现两个方案(猫狗识别和狗品种识别),我当时也是网上各种查,花了2,3个月的时间,一个萝卜 ...
- 第十二章 卷积神经网络实战--猫狗识别
1.介绍 我们已经学习了如何用传统的神经网络进行机器学习,在本章我们学习一下如何使用简单的神经网络进行图像分类.数据集用的是Kaggle的猫狗数据集.这里只有前100张,如果需要更多的可以去Kaggl ...
- 卷积神经网络的猫狗识别
文章目录 一.准备工作 二.猫狗识别 2.1.下载数据集 2.1.1. 图片分类 2.1.2.图片数量统计 2.2.卷积神经网络CNN 2.2.1.网络模型搭建 2.2.2.图像生成器读取文件中数据 ...
- 基于卷积神经网络的猫狗识别系统的设计与实现
1.1 题目的主要研究内容 (1)工作的主要描述 通过卷积网络实现猫狗图像的识别.首先,在数据集中抽取训练集和测试集:其次,对图像进行预处理和特征提取,对图像数据进行图像增强,将图像从.jpg格式转化 ...
- 使用卷积神经网络处理猫狗识别数据集_v1
说明 采用pytorch框架实现猫狗识别. 数据集下载 猫狗识别数据集下载: 链接:https://pan.baidu.com/s/1hfzSacJbNBUhcDDtPnzlsg 提取码:fu74 ...
- Pytorch基于卷积神经网络的猫狗识别
实验环境 Pytorch 1.4.0 conda 4.7.12 Jupyter Notebook 6.0.1 Python 3.7 数据集介绍 实验采用的猫和狗的图片来自 Kaggle 竞赛的一个赛题 ...
- (人工智能)基于卷积神经网络的猫狗识别
目录 一.实验条件 二.狗猫数据集的分类实验 1.运行程序:根据命名对图片分类 2.统计图片数量 三.猫狗分类的实例 1.导入相应的库 2.设置超参数 3.图像处理与图像增强 4.读取数据集和导入数据 ...
最新文章
- c 反编译工具_App安全检测实践基础——工具篇
- [CareerCup] 17.6 Sort Array 排列数组
- python图片找字_如何用python查找图像中的字母
- 利用 CocoaLumberjack 搭建自己的 Log 系统
- 如何添加引文标_如何在Google文档中查找和添加引文
- Vue + Spring Boot 项目实战(五):数据库的引入
- 再学 GDI+[94]: TGPImage(14) - 增减图像的红、绿、蓝三色的成分
- 华为畅享max有没有人脸识别_华为三款5000mAh超大电池手机,都是续航王者,最低只要1499元...
- opencv之划痕缺陷检测
- 易筋SpringBoot 2.1 | 第九篇:SpringBoot使用Redis内存数据库
- Facebook账号注册需要注意什么?Facebook养号技巧?
- 循环结构中break、continue、return和exit的区别
- Excel选中单元格光标一直闪
- 企业转型升级,务必抓住“企业上云”政策红利
- 嵌入式系统基本概念(硬件篇)
- Think in java(四)枚举类enum的基本特性、构造方法与方法覆盖、Switch语句中的enum运用
- 职场吐槽大会,原来办公软件也有如此多神技能?
- python解决换零钱问题_多种解法解决“零钱兑换”问题
- 社区使用人脸识别闸机有什么好处?
- 水仙花数(Java语言)——最基础全面的讲解
热门文章
- java word中插入图片_在Word文档中插入图片
- 6p14推挽胆机20w功放电路图_6P14推挽双输出牛胆机
- 喝酸奶八大误区[zt]
- android 转码工具下载,m3u8视频转码工具
- 3个办法解决:微信删除的聊天记录怎么恢复?
- 检查更新时出错:无法启动更新检查(错误代码为 3: 0x80040154)
- 玉米社:SEM竞价推广预算设置方法
- 卡尔曼滤波的细致讲解从一维到多维
- gnutls_handshake() failed: A TLS packet with unexpected length was received
- fluent周期边界_在Fluent中采用TUI设置周期性边界的方法