首页 > 编程语言 > 详细

pytHon深度学习(3.4)

时间:2019-02-19 16:16:47      阅读:342      评论:0      收藏:0      [点我收藏+]

keras绘制损失函数曲线

# -*- coding: utf-8 -*-
‘‘‘Trains a simple deep NN on the MNIST dataset.
Gets to 98.40% test accuracy after 20 epochs
(there is *a lot* of margin for parameter tuning).
2 seconds per epoch on a K520 GPU.
‘‘‘

from __future__ import print_function

import keras
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras.optimizers import RMSprop
import matplotlib.pyplot as plt


batch_size = 128
num_classes = 10
epochs = 20

# the data, shuffled and split between train and test sets
# (x_train, y_train), (x_test, y_test) = mnist.load_data()

(x_train, y_train), (x_test, y_test) = mnist.load_data(path=‘/home/duchao/下载/mnist.npz‘)

# import numpy as np
#
# path = ‘/home/duchao/下载/mnist.npz‘
# f = np.load(path)
# x_train, y_train = f[‘x_train‘], f[‘y_train‘]
# x_test, y_test = f[‘x_test‘], f[‘y_test‘]
# f.close()

x_train = x_train.reshape(60000, 784).astype(‘float32‘)
x_test = x_test.reshape(10000, 784).astype(‘float32‘)
x_train /= 255
x_test /= 255
print(x_train.shape[0], ‘train samples‘)
print(x_test.shape[0], ‘test samples‘)

# convert class vectors to binary class matrices
# label0~910个类别,keras要求格式为binary class matrices

y_train = keras.utils.to_categorical(y_train, num_classes)
y_test = keras.utils.to_categorical(y_test, num_classes)

# add by hcq-20171106
# Dense of keras is full-connection.
model = Sequential()
model.add(Dense(512, activation=‘relu‘, input_shape=(784,)))
model.add(Dropout(0.2))
model.add(Dense(512, activation=‘relu‘))
model.add(Dropout(0.2))
model.add(Dense(num_classes, activation=‘softmax‘))

model.summary()

model.compile(loss=‘categorical_crossentropy‘,
optimizer=RMSprop(),
metrics=[‘accuracy‘])

history = model.fit(x_train, y_train,
batch_size=batch_size,
epochs=epochs,
verbose=1,
validation_data=(x_test, y_test))
score = model.evaluate(x_test, y_test, verbose=0)
print(‘Test loss:‘, score[0])
print(‘Test accuracy:‘, score[1])


history_dict=history.history
loss_value=history_dict["loss"]
val_loss_value=history_dict["val_loss"]

epochs=range(1,len(loss_value)+1)
plt.plot(epochs,loss_value,"bo",label="Training loss")
plt.plot(epochs,val_loss_value,"b",label="Validation loss")
plt.xlabel("epochs")
plt.ylabel("loss")
plt.legend()
plt.show()

pytHon深度学习(3.4)

原文:https://www.cnblogs.com/shuimuqingyang/p/10401363.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!