zoukankan      html  css  js  c++  java
  • 深度学习-手写数字识别代码

    Tensorflow2.0

    训练模型

    import tensorflow as tf
    from tensorflow import keras
    from tensorflow.keras.datasets import mnist
    from tensorflow.keras import layers
    (x_train,y_train),(x_test,y_test) = mnist.load_data()
    print(x_train.shape,y_train.shape)
    # 创建张量
    x_train = tf.constant(x_train,dtype=tf.float32)
    x_test = tf.constant(x_test,dtype=tf.float32)
    # Reshape
    x_train4d = tf.reshape(x_train,[x_train.shape[0],28,28,1])
    x_test4d = tf.reshape(x_test,[x_test.shape[0],28,28,1])
    print(tf.shape(x_train4d),tf.shape(x_test4d))
    #图像标准化
    x_train4d,x_test4d = x_train4d/255.0,x_test4d/255.0
    
    #模型搭建
    model = keras.Sequential([
        layers.Conv2D(filters=16,kernel_size=(5,5),padding='same',input_shape=(28,28,1),activation='relu'),
        layers.MaxPool2D(pool_size=(2,2)),
        layers.Conv2D(filters=36, kernel_size=(5, 5), padding='same', activation='relu'),
        layers.MaxPool2D(pool_size=(2,2)),
        layers.Dropout(0.25),
        layers.Flatten(),
        layers.Dense(128,activation='relu'),
        layers.Dropout(0.5),
        layers.Dense(10,activation='softmax')
    ])
    print(model.summary())
    
    #开始训练
    model.compile(loss='sparse_categorical_crossentropy',optimizer='adam', metrics=['accuracy'])
    model.fit(x=x_train4d, y=y_train, validation_split=0.2,epochs=20, batch_size=300, verbose=2)
    model.save("./model.h5")

    模型预测

    import tensorflow as tf
    from tensorflow import keras
    from tensorflow.keras.datasets import mnist
    from tensorflow.keras import layers
    (x_train,y_train),(x_test,y_test) = mnist.load_data()
    print(x_train.shape,y_train.shape)
    # 创建张量
    x_train = tf.constant(x_train,dtype=tf.float32)
    x_test = tf.constant(x_test,dtype=tf.float32)
    # Reshape
    x_train4d = tf.reshape(x_train,[x_train.shape[0],28,28,1])
    x_test4d = tf.reshape(x_test,[x_test.shape[0],28,28,1])
    print(tf.shape(x_train4d),tf.shape(x_test4d))
    #图像标准化
    x_train4d,x_test4d = x_train4d/255.0,x_test4d/255.0
    
    new_model =tf.keras.models.load_model("./model.h5")
    print(new_model.summary())
    new_model.evaluate(x_train4d,y_test)

    预测结果

  • 相关阅读:
    Ubuntu 下安装 PHP Solr 扩展的安装与使用
    转载:Ubuntu14-04安装redis和php5-redis扩展
    Datagridview全选,更新数据源代码
    sftp不识别的问题ssh命令找不到
    linux:如何修改用户的密码
    win7.wifi热点
    Rico Board.1.环境配置
    linux学习记录.6.vscode调试c makefile
    linux学习记录.5.git & github
    linux学习记录.3.virtualbox 共享文件夹
  • 原文地址:https://www.cnblogs.com/2016-zck/p/14496352.html
Copyright © 2011-2022 走看看