当前位置:网站首页>7.Keras开发简介
7.Keras开发简介
2022-08-03 04:05:00 【好名字能更容易让朋友记住】
Keras简介
Keras具有以下特性:
- 相同的代码可以在CPU或GPU上无缝切换运行。
- 具有用户友好的API,便于快速开发深度学习模型的原型。
- 内置支持卷积网络(用于计算机视觉)、循环网络(用于序列处理)以及二者的任意组合。
- 支持任意网络框架:多输入或多输出模型、层共享、模型共享等。这也就是说,Keras能够构建任意深度学习模型,无论是生成式对抗网络还是神经图灵机。
使用Keras开发:概述
典型的Keras工作流程如下:
- 定义训练数据:输入张量和目标张量。
- 定义层组成的网络(或模型),将输入映射到目标。
- 配置学习过程:选择损失函数、优化器和需要监控的指标。
- 调用模型的fit方法在训练数据上进行迭代。
定义模型有两种方法:
- 使用 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)
一旦定义好了模型架构,使用Sequential模型还是函数式API就不重要了。接下来的步骤都是相同的。
配置学习过程是在编译这一步,你需要指定模型使用的优化器和损失函数,以及训练过程中想要监控的指标。
下面是单一损失函数的例子
from keras import optimizers model.compile(optimizer=optimizers.RMSprop(1r=0.001), loss='mse', metrics=['accuracy'])
最后,学习过程就是通过 fit()方法将输入数据的Numpy数组(和对于的目标数据)传入模型,这一做法与Scikit-Learn即其他机器学习库类似。
model.fit(input_tensor, target_tensor, batch_size=128, epocha=10)
边栏推荐
- 中非合作论坛非洲产品电商推广季启动 外交部:推动中非合作转型升级
- 一文了解SAP IBP是什么?
- Jincang Database Pro*C Migration Guide ( 5. Program Development Example)
- Kotlin multiplication, how do I multiply smaller and smaller?
- I ported GuiLite to STM32F4 board
- GD32学习笔记(3)NAND Flash管理
- 肖sir__简历
- Problems that need to be solved for interrupting the system
- 积分商城可设置的四种兑换商品类型
- 工程水文学试题库
猜你喜欢
随机推荐
第3周 用1层隐藏层的神经网络分类二维数据
Best Practices for Migration from Jincang Database from MySQL to KingbaseES (3. MySQL Database Migration Practice)
ESP8266-Arduino编程实例-LED点阵驱动(基于Max7219)
让环境自己说话,论环境自描述的重要性
正则表达式与绕过案例
工程水文学试题库
mysql bool blind
excerpt from compilation book
肖sir___面试就业课程____app
ORACLE中文乱码
单元测试是什么?怎么写?主要测试什么?
AF-DNAT
深圳线下报名|StarRocks on AWS:如何对实时数仓进行极速统一分析
SMP 需要考虑的事情
我将GuiLite移植到了STM32F4开发板上
Oracle EMCC可以独立安装吗?还是必须安装到数据库服务器上?
中原银行实时风控体系建设实践
种草一个让程序员男友编程时,记住一辈子的 IDEA 神仙插件!
ClickHouse uninstall and reinstall
GD32学习笔记(3)NAND Flash管理