zoukankan      html  css  js  c++  java
  • 深度学习-Tensorflow2.2-深度学习基础和tf.keras{1}-softmax多分类-06

    softmax分类
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Fashion MNIST数据集
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    import tensorflow as tf
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    %matplotlib inline
    
    # 下载数据集并划分为训练集和测试集
    (train_image,train_lable),(test_image,test_label) = tf.keras.datasets.fashion_mnist.load_data()
    

    在这里插入图片描述

    train_image.shape,train_lable.shape #查看训练集
    

    在这里插入图片描述

    test_image.shape,test_label.shape # 查看测试集
    

    在这里插入图片描述

    plt.imshow(train_image[0]) # 通过切片取出测试机第一张图片查看
    

    在这里插入图片描述

    train_image[0] # 查看取值
    

    在这里插入图片描述

    np.max(train_image[0]) #查看最大值得出取值范围0-255
    

    在这里插入图片描述

    train_lable # 查看对应的分类 9代表鞋子
    

    在这里插入图片描述

    # 归一化
    train_image=train_image/255
    test_image=test_image/255
    
    train_image.shape
    

    在这里插入图片描述

    # 建立模型
    model = tf.keras.Sequential()
    model.add(tf.keras.layers.Flatten(input_shape=(28,28))) # 28*28
    model.add(tf.keras.layers.Dense(128,activation="relu"))
    model.add(tf.keras.layers.Dense(10,activation="softmax"))
    
    # 编译模型
    model.compile(optimizer="adam",
                 loss="sparse_categorical_crossentropy",
                 metrics=["acc"]
                 )
    
    # 使用训练集集训练模型
    model.fit(train_image,train_lable,epochs=5)
    

    在这里插入图片描述

    # 使用测试集进行评价
    model.evaluate(test_image,test_label)
    

    在这里插入图片描述

    完整代码

    # -*- coding: utf-8 -*-
    # -*- coding: utf-8 -*-
    import os
    os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' # 修改警告级别,不显示警告
    import tensorflow as tf
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    
    # 下载数据集并划分为训练集和测试集
    (train_image,train_lable),(test_image,test_label) = tf.keras.datasets.fashion_mnist.load_data()
    # 归一化
    train_image=train_image/255
    test_image=test_image/255
    # 建立模型
    model = tf.keras.Sequential()
    model.add(tf.keras.layers.Flatten(input_shape=(28,28))) # 28*28
    model.add(tf.keras.layers.Dense(128,activation="relu"))
    model.add(tf.keras.layers.Dense(10,activation="softmax"))
    
    # 编译模型
    model.compile(optimizer="adam",
                 loss="sparse_categorical_crossentropy",
                 metrics=["acc"]
                 )
    # 使用训练集训练模型
    model.fit(train_image,train_lable,epochs=5)
    # 使用测试集进行评价
    model.evaluate(test_image,test_label)
    

    在这里插入图片描述
    独热编码one_hot
    如: 北京 [1,0,0] 上海 [0,1,0] 深圳 [0,0,1]

    train_lable_onehot = tf.keras.utils.to_categorical(train_lable)
    
    train_lable_onehot
    

    在这里插入图片描述

    test_lable_onehot = tf.keras.utils.to_categorical(test_label)
    
    test_lable_onehot
    

    在这里插入图片描述

    # 建立模型
    model = tf.keras.Sequential()
    model.add(tf.keras.layers.Flatten(input_shape=(28,28))) # 28*28
    model.add(tf.keras.layers.Dense(128,activation="relu"))
    model.add(tf.keras.layers.Dense(10,activation="softmax"))
    
    # 编译模型
    model.compile(optimizer="adam",
                 loss="categorical_crossentropy",
                 metrics=["acc"]
                 )
    
    # 使用训练集训练模型
    model.fit(train_image,train_lable_onehot,epochs=5)
    

    在这里插入图片描述

    predict =model.predict(test_image)
    
    test_image.shape
    

    在这里插入图片描述

    predict.shape # 查看预测结果 长度10000,向量10
    

    在这里插入图片描述

    predict[0]# 查看第一个预测结果 最大值9.2445886e-01
    

    在这里插入图片描述

    np.argmax(predict[0])# 查看预测最大概率值为9
    

    在这里插入图片描述

    test_label[0] # 查看真实结果为9
    

    在这里插入图片描述

  • 相关阅读:
    [HDU] 2084 数塔 入门dp
    一些实用的小技术,不定时更新^_^
    上传图片的综合验证
    一个典型web接口处理
    js控制背景音乐播放
    心开始平和起来
    冲突域广播域
    可怜的我的啊~~
    祈祷
    昨夜小楼又东风...
  • 原文地址:https://www.cnblogs.com/gemoumou/p/14186276.html
Copyright © 2011-2022 走看看