zoukankan      html  css  js  c++  java
  • keras demo

    本文是TF给出的第一个关于keras的demo,以此来引出keras的基本用法和几个关键方法,也体会到了keras使用的方便。

    一、数据集

    demo中所用的数据集是fashion_mnist。是关于穿着物品的图片集。地址:https://github.com/zalandoresearch/fashion-mnist

    数据集的特征:

    • 训练数据60000个
    • 测试数据10000个
    • 每个图片是28 * 28 灰度图
    • 10个分类

    keras的数据集下载简单几句话就可以搞定。

    fashion_mnist = keras.datasets.fashion_mnist
    (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()

    datasets里包含很多数据集,都可以通过load_data直接下载(虽然很多下载不了,可能是被墙了。可以直接下载数据集,然后保存在根目录的.keras目录的datasets下。macos下是在~/.keras,windows是在?)。

    通过load_data下载的数据,直接将训练和测试数据集分开返回,而且也将数据和分类标签分开返回。

    二、数据处理

    归一化。

    train_images = train_images / 255.0
    test_images = test_images / 255.0

    三、建模

    model = keras.Sequential([
        keras.layers.Flatten(input_shape=(28, 28)),
        keras.layers.Dense(128, activation=tf.nn.relu),
        keras.layers.Dense(10, activation=tf.nn.softmax)
    ])

    这个demo里,采用序列模式。

    1. 第一层是Flatten,将28 * 28的像素值,压缩成一行 (784, )
    2. 第二层是Dense,全连接层。激活函数使用relu
    3. 第三层还是Dense,因为是多分类问题,激活函数使用softmax

    在keras里,layers里包含所有的层类型。其中还包括,

    • 卷积层,Conv2D
    • Dropout层,Dropout
    • MaxPool1D, 最大池化层
    • 等等

    具体可参考:https://tensorflow.google.cn/api_docs/python/tf/keras/layers

    四、编译

     建模后就是编译。编译的参数主要是:

    • optimizer,优化方法,这里用Adam
    • loss,损失函数,这里用稀疏类别交叉熵(多类的对数损失),sparse是指稀疏矩阵
    • metrics,评估模型在训练和测试时的性能的指标
    model.compile(optimizer=tf.train.AdamOptimizer(),
                 loss = 'sparse_categorical_crossentropy',
                 metrics=['accuracy'])

     五、拟合

     拟合是训练参数,拟合训练数据的过程。主要参数:

    • 训练数据
    • 训练标签
    • 训练次数
    model.fit(train_images, train_labels, epochs=5)

    六、评估

     把拟合好的模型应用在测试数据上,得到在测试集上的损失值和准确率。

    通过观察和绘制损失值和准确率的统计图,分析模型的性能,是否满足需求。

    如果满足需求,再进行最后的预测过程。

    test_loss, test_acc = model.evaluate(test_images, test_labels)

    七、预测

    predictions = model.predict(test_images)
    predict可以得到所有类型对应的概率。

    Reference:

    1、https://tensorflow.google.cn/tutorials/keras/basic_classification

    2、https://keras-cn.readthedocs.io/en/latest/、keras中文文档。

  • 相关阅读:
    C#脚本引擎 CS-Script 之(一)——初识
    系分过了,mark一下,就从这里开始吧
    Git.Framework 框架随手记-- 分享一个"比较垃圾"的项目
    Android--多选自动搜索提示
    Android--自动搜索提示
    Android--图片集
    Android--下拉框
    SQL Server 收缩日志
    Android--按钮点击事件
    Android--TextView 文字显示和修改
  • 原文地址:https://www.cnblogs.com/jimobuwu/p/10078374.html
Copyright © 2011-2022 走看看