zoukankan      html  css  js  c++  java
  • Tensorflow利用卷积神经网络实现图片分类

    tensorflow搭建卷积神经网络非常简单,我们使用卷积神经网络对fashion mnist数据集进行图片分类,首先导包:

    import tensorflow as tf
    from tensorflow import keras
    import matplotlib.pyplot as plt
    import numpy as np

    导入数据集:

    (train_image,train_label),(test_image,test_label)=tf.keras.datasets.fashion_mnist.load_data()

    查看图片的shape维度:

    train_image.shape

    输出:

    (60000, 28, 28)

    由于我们卷积神经网络需要的是四维的数据,也就是一共需要有四个维度,分别是(图片,横向像素,竖直方向的像素,channel)。

    这个数据集里面的图像均为三维的矩阵,且为黑白图片,因此channel为1,如果是RGB的彩色图片的话,channel为3.因此我们把三维的图片变成4维的图片,利用numpy即可:

    train_image=np.expand_dims(train_image,-1)
    test_image=np.expand_dims(test_image,-1)

    然后开始搭建卷积神经网络,我试了试自己的这个模型,做出来的结果甚至比Yun lekun提出的lenet5神经网络更好。搭建神经网络的架构如下:

    model.add(tf.keras.layers.Conv2D(32,(3,3),
                                     input_shape=train_image.shape[1:],
                                     activation="relu",
                                     padding="same"))
    #添加maxpooling层是因为在之后同样的卷积核能够提取的特征更多,增大“感受野”
    model.add(tf.keras.layers.MaxPool2D())
    model.add(tf.keras.layers.Conv2D(64,(3,3),activation="relu"))
    model.add(tf.keras.layers.GlobalAveragePooling2D())
    model.add(tf.keras.layers.Dense(10,activation='softmax'))

    编译模型:

    model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.001),
                  loss="sparse_categorical_crossentropy",
                  metrics=['acc']
    )

    得到图像的分类结果,并绘制loss函数变化的图像,用来分析是否模型是否过拟合:

    plt.plot(history.epoch,history.history.get('loss'),label="loss")
    plt.plot(history.epoch,history.history.get('val_loss'),label="val_loss")
    plt.legend()

    得解。

  • 相关阅读:
    winform+c#之窗体之间的传值 Virus
    ASP.NET 2.0 利用 checkbox获得选中行的行号, 在footer中显示 Virus
    .NET中的winform的listview控件 Virus
    我的书橱
    Expert .NET 2.0 IL Assembler·译者序一 写在一稿完成之即
    Verbal Description of Custom Attribute Value
    AddressOfCallBacks in TLS
    下一阶段Schedule
    2008 Oct MVP OpenDay 第二天 博客园聚会
    2008 Oct MVP OpenDay 第二天 颁奖·讲座·晚会
  • 原文地址:https://www.cnblogs.com/geeksongs/p/13204511.html
Copyright © 2011-2022 走看看