当前位置:网站首页>5.回顾简单的神经网络
5.回顾简单的神经网络
2022-08-03 04:05:00 【好名字能更容易让朋友记住】
回顾简单的神经网络
输入数据
import keras.datasets as mnist (train_images, train_labels), (test_images, test_labels) = mnist.load_data() train_images = train_images.reshape((60000, 28*28)) train_images = train_images.astype('float32') / 255 test_images = test_images.reshape((10000, 28*28)) test_images = test_images.astype('float32') / 255 # 输入图像保存在float32格式的Numpy张量中,形状分别为(60000,783)(训练数据)和(10000,784)(测试数据)。
构建网络
network = models.Sequential() network.add(layers.Dense(512, activation='relu', input_shape=(28*28,))) network.add(layers.Dense(10, activation='softmax')) # 这个网络包含两个Dense层,每层都对输入数据进行一些简单的张量运算,这些运算都包含权重张量。 # 权重张量是该层的属性,里面保存了网络所学到的知识。
网络编译
network.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy']) # categorical_crossentropy 是损失函数,是用于学习权重张量的反馈信号,在训练阶段应该使他最小化。 # 减少损失是由小批量随机梯度下降来实现的。 # 梯度下降的具体方法是由第一个参数给定的,即rmsprop优化器。
训练循环
network.fit(train_images, train_labels, epochs=5, batch_size=128) # 网络开始在训练数据上进行迭代(每个小批量包括128个样本),共迭代5次(在所有训练数据上迭代一次叫做一个轮次。 # 在每次迭代过程中,网络会计算批量损失相对于权重的梯度,并相应地更新权重。 # 5论之后,网络进行了2345次梯度更新(每轮469次),网络损失值将变得足够小,使得网络能够以很高的精度对于手写数字进行分类。
边栏推荐
- SkiaSharp 之 WPF 自绘 五环弹动球(案例版)
- 汇编题答案
- 【无标题】2022-7-24
- The flink sql task is changed, and after adding several fields to the sql, an error occurs when restoring from the previously saved savepoint.
- 高等代数_证明_不同特征值的特征向量线性无关
- (2022牛客多校五)G-KFC Crazy Thursday(二分+哈希)
- voliate关键字
- 肖sir___面试就业课程____app
- DMA 的工作方式
- ESP8266-Arduino编程实例-MCP3008-ADC转换器驱动
猜你喜欢
随机推荐
测开:项目管理模块-项目curd开发
高等代数_证明_不同特征值的特征向量线性无关
积分商城可设置的四种兑换商品类型
第3周 用1层隐藏层的神经网络分类二维数据
【笔记】混淆矩阵和ROC曲线
工程制图第九章作业
v-on指令:为元素绑定事件
软件测试个人求职简历该怎么写,模板在这里
DC-3靶场搭建及渗透实战详细过程(DC靶场系列)
这个困扰程序员50年的问题,终于要被解决了?
(2022牛客多校五)G-KFC Crazy Thursday(二分+哈希)
第三方支付--分账对接
vscode access denied to unins000.exe
硬件设计哪些事-PCB设计那些事
9 椭圆曲线密码体制
stdio.h(本机代码)
那些让电子工程师崩溃瞬间,你经历了几个呢?
js Fetch返回数据res.json()报错问题
基于 jetpack compose,使用MVI架构+自定义布局实现的康威生命游戏
Dynamically modify the title of the navigation bar in uniapp