当前位置:   article > 正文

深度学习入门--手写数字识别(Keras)_深度学习识别画图手写数字vgg16

深度学习识别画图手写数字vgg16
  1. #导入所需要的包
  2. import keras
  3. from keras.datasets import mnist
  4. from keras.layers import Dense
  5. from keras.models import Sequential
  6. from keras.optimizers import SGD
  7. #下载数据集
  8. (x_train,y_train),(x_test,y_test) = mnist.load_data()
  9. #查看数据的size
  10. print(x_train.shape, y_train.shape)
  11. print(x_test.shape, y_test.shape)

此时输出的结果为:

  1. #随机查看一下数据内容
  2. import matplotlib.pyplot as plt
  3. im = plt.imshow(x_train[0],cmap="gray")
  4. plt.show()

输出为:

  1. #向量化图片,将28*28转化成1*784
  2. x_train = x_train.reshape(60000,784)
  3. x_test = x_test.reshape(10000,784)
  4. #数据归一化
  5. x_train = x_train/255
  6. x_test = x_test/255
  7. #将标签值y进行独热编码 keras.utils.to_categorical()
  8. y_train = keras.utils.to_categorical(y_train,10)
  9. y_test = keras.utils.to_categorical(y_test,10)
  10. #开始构建模型
  11. model = Sequential()
  12. model.add(Dense(512, activation='relu', input_shape=(784,)))
  13. model.add(Dense(256, activation='relu'))
  14. model.add(Dense(10, activation='softmax'))
  15. #查看模型情况
  16. model.summary()

输出的模型概况为:

  1. #编译神经网络
  2. model.compile(optimizer=SGD(), loss='categorical_crossentropy', metrics=['accuracy'])
  3. #训练网络
  4. model.fit(x_train, y_train, batch_size=64, epochs=10, validation_data=(x_test, y_test))

执行结果:

 

  1. #查看最终结果
  2. score = model.evaluate(x_test, y_test)
  3. print("LOSS:",score[0])
  4. print("ACCU:",score[1])

输出结果为:

 

完整版程序:

  1. #导入所需要的包
  2. import keras
  3. from keras.datasets import mnist
  4. from keras.layers import Dense
  5. from keras.models import Sequential
  6. from keras.optimizers import SGD
  7. #下载数据集
  8. (x_train,y_train),(x_test,y_test) = mnist.load_data()
  9. #查看数据的size
  10. #此部分可省略
  11. print(x_train.shape, y_train.shape)
  12. print(x_test.shape, y_test.shape)
  13. #随机查看一下图片
  14. #此部分可省略
  15. import matplotlib.pyplot as plt
  16. im = plt.imshow(x_train[0],cmap="gray")
  17. plt.show()
  18. #向量化图片,将28*28转化成1*784
  19. x_train = x_train.reshape(60000,784)
  20. x_test = x_test.reshape(10000,784)
  21. #数据归一化
  22. x_train = x_train/255
  23. x_test = x_test/255
  24. #将标签值y进行独热编码 keras.utils.to_categorical()
  25. y_train = keras.utils.to_categorical(y_train,10)
  26. y_test = keras.utils.to_categorical(y_test,10)
  27. #开始构建模型
  28. model = Sequential()
  29. model.add(Dense(512, activation='relu', input_shape=(784,)))
  30. model.add(Dense(256, activation='relu'))
  31. model.add(Dense(10, activation='softmax'))
  32. #查看模型情况
  33. #此部分可省略
  34. model.summary()
  35. #编译神经网络
  36. model.compile(optimizer=SGD(), loss='categorical_crossentropy', metrics=['accuracy'])
  37. #训练网络
  38. model.fit(x_train, y_train, batch_size=64, epochs=10, validation_data=(x_test, y_test))
  39. #查看结果
  40. score = model.evaluate(x_test, y_test)
  41. print("LOSS:",score[0])
  42. print("ACCU:",score[1])

来源:慕课网学习笔记

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号