IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 深度学习·猫狗识别实验 tensorflow 2.0 -> 正文阅读

[人工智能]深度学习·猫狗识别实验 tensorflow 2.0

请添加图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
请添加图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
环境:Python 3.8.8 64-bit; VS Code; tensorflow 2.0
数据集:https://momodel.cn/explore/60e6b9babb5ba072ad72755d?type=dataset
文件结构:
在这里插入图片描述
使用GPU加速训练:
在这里插入图片描述
然而我的输出为0,只能用CPU,寄!

  • 卷积层和池化层的区别?

略。
卷积层主要提取图像特征(F不宜过大,否则参数数量过多),池化层用来缩放图像。

  • 卷积核的深度和个数?

在这里插入图片描述
train.py

from keras import layers, models, utils, optimizers
from keras.preprocessing.image import ImageDataGenerator
import tensorflow as tf
import os

def define_cnn_model():

    model = models.Sequential()
    # 卷积层
    model.add(layers.Conv2D(32, (3, 3), activation='relu', padding='same', input_shape=(200, 200, 3)))
    # 最大池化层
    model.add(layers.MaxPooling2D((2, 2)))
    # Flatten层
    model.add(layers.Flatten())
    # 全连接层
    model.add(layers.Dense(128, activation='relu'))
    model.add(layers.Dense(1, activation='sigmoid'))

    # 编译模型
    opt = optimizers.SGD(lr=0.03, momentum=0.9)
    model.compile(
        optimizer = opt,
        loss = 'binary_crossentropy',
        metrics = ['accuracy']
    )

    return model

def train_cnn_model():
    model = define_cnn_model()
    # 创建图片生成器
    datagen = ImageDataGenerator(rescale = 1.0 / 255.0)
    train_it = datagen.flow_from_directory(
        "ma1ogo3ushu4ju4ji2/dogs_cats/data/train",
        class_mode = 'binary',
        batch_size = 64,
        target_size = (200, 200)
    )
    model.fit_generator(train_it, steps_per_epoch=len(train_it), epochs=30, verbose=1)
    return model

print('文件当前路径:', os.getcwd())
print('开始训练')
model = train_cnn_model()
print('训练结束')
print('开始存储模型')
model.save('ma1ogo3ushu4ju4ji2/myModel.h5')
print('模型存储完毕')

test.py

import keras
import os, random
import matplotlib
from matplotlib.pyplot import imshow
import numpy as np
from PIL import Image
from keras.preprocessing import image

def read_random_image():
    folder = r"ma1ogo3ushu4ju4ji2/dogs_cats/data/test/"
    file_path = folder + random.choice(os.listdir(folder))
    pil_im = Image.open(file_path, 'r')
    return pil_im

def get_predict(pil_im, model):
    # 图片缩放
    pil_im = pil_im.resize((200, 200))
    # 将图片转为 numpy array 格式
    array_im = image.img_to_array(pil_im)
    array_im = np.expand_dims(pil_im, axis=0)
    # 对图片进行预测
    result = model.predict([[array_im]])
    if result[0][0] > 0.5:
        print('预测结果:狗')
    else:
        print('预测结果:猫')

# model = keras.models.load_model('ma1ogo3ushu4ju4ji2/myModel.h5')
model = keras.models.load_model("ma1ogo3ushu4ju4ji2/dogs_cats/model/basic_cnn_model.h5")
pil_im = read_random_image()
pil_im.show()
#imshow(image.img_to_array(pil_im))
get_predict(pil_im, model)

运行结果:
请添加图片描述
请添加图片描述
我的评价是:感觉不如瞎猜……准确度。

当然可以通过改进模型或者增大epochs来尝试提高accuracy,不过我没有GPU,就不折腾了,训练时间实在是太长了,代码一会上传到Github,大家有兴趣可以自己尝试。

>> Github传送门

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-23 12:29:25  更:2021-10-23 12:32:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 8:23:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码