第三章 -神经网络入门-keras简介

本文概述了使用Keras进行典型深度学习项目的步骤,包括数据准备、模型定义(Sequential vs Functional API)、编译选择及fit方法的应用。从定义模型的层结构,到配置优化器、损失函数和评估指标,一步步带你入门Keras模型训练。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 典型的keras工作流程:

(1) 定义训练数据:输入张量和目标张量。
(2) 定义层组成的网络(或模型),将输入映射到目标。
(3) 配置学习过程:选择损失函数、优化器和需要监控的指标。
(4) 调用模型的 fit 方法在训练数据上进行迭代。

2.定义模型的方法

定义模型有两种方法:一种是使用 Sequential 类(仅用于层的线性堆叠,这是目前最常见的网络架构),另一种是函数式 API(functional API,用于层组成的有向无环图,让你可以构建任意形式的架构)。

利用 Sequential 类定义

from keras import models
from keras import layers
model = models.Sequential()
model.add(layers.Dense(32, activation='relu', input_shape=(784,)))
model.add(layers.Dense(10, activation='softmax'))

用函数式 API 定义的相同模型

input_tensor = layers.Input(shape=(784,))
x = layers.Dense(32, activation='relu')(input_tensor)
output_tensor = layers.Dense(10, activation='softmax')(x)
model = models.Model(inputs=input_tensor, outputs=output_tensor)

编译:

from keras import optimizers
model.compile(optimizer=optimizers.RMSprop(lr=0.001),
 loss='mse',
 metrics=['accuracy'])

学习过程就是通过 fit() 方法将输入数据的 Numpy 数组(和对应的目标数据)传入模型

model.fit(input_tensor, target_tensor, batch_size=128, epochs=10)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值