当前位置:网站首页>1.一个神经网络示例
1.一个神经网络示例
2022-08-03 04:05:00 【好名字能更容易让朋友记住】
一个神经网络示例
加载 Keras 中的 MNIST 数据集
from keras.datasets import mnist (train_images, train_labels), (test_images, test_labels) = mnist.load_data()
网络架构
from keras import models from keras import layers network = models.Sequential() network.add(layers.Dense(512, activation='relu', input_shape=(28*28,))) network.add(layers.Dense(10,activation='softmax'))
编译步骤
编译步骤的三个参数
损失函数(loss function)
网络如何衡量在训练数据上的性能,即网络如何朝着正确方向前进。
优化器(optimizer)
基于训练数据和损失函数来更新网路的机制。
在训练和测试过程中需要监控的指标(metric)
本例只关心精度,即正确分类的图像所占比例。
network.complice(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy'])
准备图像数据
将数据进行预处理,将其变换为网络要求的形状,并缩放放到所有值都在 [0, 1] 区间。
train_images = train_images.reshape((60000,28*28)) train_images = train_images.astype('float32') / 255 test_images = test_images.reshape((1000,28*28)) test_images = test_images.astype('float32') / 255
准备标签
from keras.utils import to_categorical train_labels = to_categorical(train_labels) test_labels = to_categorical(test_labels)
现在可以准备开始训练网络,在 Keras 中这一步通过调用网络的 fit 方法来完成的——在训练数据上拟合(fit)模型
>>>network.fit(train_image, train_labels, epochs=5, batch_size=128) Epoch 1/5 60000/60000 [==========================] - 9s - loss:0.2524 - acc: 0.9273 Epoch 2/5 51328/60000 [======================>...] - ETA: 1s - loss: 0.1035 - acc: 0.9692
训练过程中显示了两个数字:
- 网络在训练数据上的损失(loss)
- 网络在训练数据上的精度(acc)
>>> test_loss, test_acc = network.evaluate(test_images, test_labels) >>> print('test_acc:', test_acc) test_acc: 0.9785
边栏推荐
猜你喜欢
随机推荐
excerpt from compilation book
leetcode刷题学习之路
Assembly answers
DC-3靶场搭建及渗透实战详细过程(DC靶场系列)
寄存器(内存访问)
Domino服务器SSL证书安装指南
LeetCode算法日记:面试题 03.04. 化栈为队
道通转债,微芯转债,博22转债上市价格预测
一文了解SAP IBP是什么?
Dialog manager in the fourth chapter: the dialog message loop
SMP 需要考虑的事情
2022中国五金制品行业发展前景分析
lc marathon 8.2
使用docker容器搭建MySQL主从复制
ClickHouse delete table
数据库性能系列之索引(中)
path development介绍
第三方支付--分账对接
我的“眼睛”就是尺!
ESP8266-Arduino编程实例-MCP3008-ADC转换器驱动