20行代码,训练一个神经网络

mnist手写字体识别非常适合初学者,可以通过少量的代码来了解神经网络的基本过程。
代码如下:

# encoding:utf-8

from keras.datasets import mnist
from keras import models
from keras import layers
from keras.utils import to_categorical

# 加载数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data()
print(x_train.shape)

# 创建模型
network = models.Sequential()
network.add(layers.Dense(512, activation='relu', input_shape=(28*28,)))
network.add(layers.Dense(10, activation='softmax'))


# 编译
network.compile(optimizer='rmsprop',
                loss='categorical_crossentropy',  # 交叉熵损失函数
                metrics=['accuracy'])

# 将输入数据从[0, 255]转化为[0, 1]
x_train = x_train.reshape((60000, 28*28))
x_train = x_train.astype('float32') / 255

x_test = x_test.reshape((10000, 28*28))
x_test = x_test.astype('float32') / 255

y_train = to_categorical(y_train)
y_test = to_categorical(y_test)

# 使用训练集训练模型
network.fit(x_train, y_train, batch_size=128, epochs=5)

# 使用测试集评估模型
test_loss, test_acc = network.evaluate(x_test, y_test)
print('test_acc:', test_acc, 'test_loss', test_loss)

# 观察结果:acc精度越高越好,loss损失值越小越好
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值