首页 > 其他分享 >【kears】(01)keras使用介绍

【kears】(01)keras使用介绍

时间:2024-04-09 19:59:26浏览次数:15  
标签:API 01 训练 keras kears 模型 引擎 TensorFlow

文章目录


Keras 是一个高级神经网络 API,用于构建和训练深度学习模型。它提供了简单易用、高度模块化的接口,使得用户能够快速地搭建各种类型的神经网络模型,包括卷积神经网络(CNN)、循环神经网络(RNN)等,并进行训练。

一.特点

1)简单易用:Keras 提供了简洁一致的 API,使得用户能够快速上手,无需深入了解底层实现细节。

2)模块化:Keras 的模型由各种层组成,用户可以根据需要灵活组合这些层,构建不同类型的神经网络结构。

3)支持多后端:Keras 支持多种深度学习框架作为后端引擎,包括 TensorFlow、CNTK 和 Theano,用户可以根据需求选择合适的后端。

4)可扩展性:Keras 提供了丰富的扩展接口和插件机制,用户可以方便地扩展功能或集成第三方工具。

5)易于调试:Keras 的代码结构清晰,错误信息友好,便于调试和排查问题。

二.keras如何支持TensorFlow、CNTK 和 Theano

在 Keras 中,你可以选择不同的深度学习框架作为后端引擎,包括 TensorFlow、CNTK 和 Theano。下面是如何在代码中选择不同后端引擎的示例。

2.1 使用 TensorFlow 后端引擎训练和评估模型

import os
os.environ['KERAS_BACKEND'] = 'tensorflow'  # 设置后端引擎为 TensorFlow

2.2 使用 TensorFlow 后端引擎训练和评估模型

import os
# 切换后端引擎为 CNTK
os.environ['KERAS_BACKEND'] = 'cntk'  # 设置后端引擎为 CNTK

2.3 使用 Theano后端引擎训练和评估模型

import os
# 切换后端引擎为 Theano
os.environ['KERAS_BACKEND'] = 'theano'  # 设置后端引擎为 Theano

2.4 不同深度学习框架如何选择

选择适合的深度学习框架作为后端引擎取决于多种因素,包括但不限于以下几点:
1)功能需求
不同的框架提供了不同的功能和特性。例如,TensorFlow 提供了更灵活的计算图定义和分布式训练支持,PyTorch 提供了更简洁的动态计算图和易于调试的接口。因此,根据你的功能需求选择适合的框架是很重要的。

2)性能和效率
不同的框架在性能和效率上可能会有所不同。例如,TensorFlow 在大规模模型训练和生产部署方面具有很好的性能表现,而 PyTorch 则在实验性研究和快速原型开发方面更受欢迎。

3)生态系统和支持
考虑到框架的生态系统和支持程度也是选择后端引擎的重要因素。TensorFlow 和 PyTorch 都有庞大的用户社区和丰富的文档资源,但在特定领域或应用场景下,可能会有某个框架更加适合。

4)团队技能
如果你的团队已经熟悉了某个框架,那么继续使用该框架作为后端引擎可能会更加高效。这样可以避免重新学习新的框架和迁移现有代码的成本。

5)部署和集成
考虑到模型的部署和集成也是选择后端引擎的考虑因素之一。不同的框架可能会对部署和集成提供不同程度的支持和工具。

1.1 keras.datasets:包含多种常用数据集

包含多种常用数据集,实现自动下载和解析等;

1.2 keras.models:包含各种模型结构

Keras 中常用的模型结构有4种:
1)顺序模型(Sequential)
Sequential 是最简单的模型结构,它按顺序堆叠层来构建模型,适用于简单的线性堆叠网络。

2)函数式 API 模型(Functional API)
函数式 API 允许构建具有复杂拓扑结构的模型,例如多输入或多输出模型、具有共享层的模型等。
通过 tf.keras.Model 类和 tf.keras.layers 模块中的层来构建模型,然后将层连接起来以定义计算图。

3)子类 API 模型(Model Subclassing API)
子类 API 允许创建自定义的模型结构,这些模型结构可能无法通过顺序模型或函数式 API 实现。
需要继承 tf.keras.Model 类,并重写 init 方法和 call 方法来定义模型的结构和计算过程。

4)模型集成(Model ensembling)
模型集成是将多个模型的预测结果进行组合以提高性能的技术。
可以使用顺序模型、函数式 API 模型或子类 API 模型来构建单个基本模型,然后通过投票、加权平均等方式对多个模型的预测结果进行集成。

三.使用步骤

3.1 导入库

首先,你需要导入 Keras 库和其他必要的库,如 keras.models、keras.layers 等。

3.2 构建模型

使用 Sequential 模型或者函数式 API 构建神经网络模型,并逐层添加各种层结构。

3.3 编译模型

通过调用 compile 方法来编译模型,指定优化器、损失函数和评估指标。

3.4 训练模型

使用 fit 方法来训练模型,传入训练数据和标签,并指定训练的批次大小和迭代次数。

3.5 评估模型

通过调用 evaluate 方法来评估模型性能,传入测试数据和标签。

3.6 使用模型

使用训练好的模型进行预测,通过 predict 方法传入输入数据即可得到预测结果。

三.示例代码

from keras.models import Sequential
from keras.layers import Dense

# 构建模型
model = Sequential()
model.add(Dense(64, activation='relu', input_dim=100))
model.add(Dense(10, activation='softmax'))

# 编译模型
model.compile(optimizer='adam', 
		loss='categorical_crossentropy',
		metrics=['accuracy'])

# 训练模型
model.fit(x_train, y_train, epochs=10, batch_size=32)

# 评估模型
loss, accuracy = model.evaluate(x_test, y_test)

# 使用模型进行预测
predictions = model.predict(x_new_data)

标签:API,01,训练,keras,kears,模型,引擎,TensorFlow
From: https://blog.csdn.net/qq_35559420/article/details/137564584

相关文章

  • P3214 [HNOI2011] 卡农
    整理下题目的三个条件:选出的\(m\)个集合都不为空。不存在完全相同的两个集合。元素\(1,2,\dots,n\)在所有的集合出现的次数均为偶数。首先,计算有序的集合是相对容易的,只需最后除以\(m!\)即可。记\(f_{i}\)表示考虑前\(i\)个集合满足以上三个条件的方案数。从条......
  • 运用预训练 Keras 模型来处理图像分类请求,学习如何使用从 Keras 创建 SavedModel
    前置import'''importosimporttempfilefrommatplotlibimportpyplotaspltimportnumpyasnpimporttensorflowastftmpdir=tempfile.mkdtemp()'''介绍如何用keras检测自己找的图片'''file=tf.keras.utils.get_file(&quo......
  • 数据结构复习-01enum枚举类型
    enum枚举类型语法:enum Nanme{name1=number1,name2=number2,};举例:enumDay{mon=1;tue=2;};enumDayday=mon;printf("dayis%d",day);输出:注意事项:1.若枚举类型中的首个元素未定义则默认为0 2.枚举类型的非首元素的默认值为......
  • 20天【代码随想录算法训练营34期】第六章 二叉树part07 ( ● 530.二叉搜索树的最小绝对
    530.二叉搜索树的最小绝对差#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=rightclassSolution:deftraversal(self,......
  • FPGA入门笔记012——嵌入式块RAM应用之ROM
    1、实验现象​ 实现一组固定的数据(三角波形表)存储在FPGA中使用IP核构建的片上ROM中,开发板上电后,系统开始从ROM中读出数据,并将数据直接通过并口输出。通过使用SignalTapII软件实时抓取并口上的数据,显示得到三角波形。然后使用Quartus软件中提供的In-SystemMemor......
  • 2011年认证杯SPSSPRO杯数学建模B题(第一阶段)生物多样性的评估全过程文档及程序
    2011年认证杯SPSSPRO杯数学建模B题生物多样性的评估原题再现:  2010年是联合国大会确定的国际生物多样性年。保护地球上的生物多样性已经越来越被人类社会所关注,相关的大规模科研和考察计划也层出不穷。为了更好地建立国际交流与专家间的合作,联合国还建立了生物多样性......
  • 蓝桥杯2014国A-排列序数(待续)
    [蓝桥杯2014国A]排列序数题目描述如果用abcd这\(4\)个字母组成一个串,有\(4!=24\)种,如果把它们排个序,每个串都对应一个序号:abcd0abdc1acbd2acdb3adbc4adcb5bacd6badc7bcad8bcda9bdac10bdca11cabd......
  • 前端学习-UI框架学习-Bootstrap5-016-卡片
    菜鸟教程链接简单的卡片<template><divclass="card"><h4class="card-title">标题</h4><imgsrc="../assets/th.jfif"alt="537"class="card-img-top"style="width:50px;......
  • 手把手教你做阅读理解题-初中中考阅读理解解题技巧014-A Fun Plant Experiment to Try
    PDF格式公众号回复关键字:ZKYD014阅读理解技巧,在帮助读者有效获取和理解文本信息方面发挥着重要作用,熟练掌握如下6个技巧,可快速突破阅读理解1预览文章结构在开始深入阅读之前,快速浏览文章的标题、段落开头和结尾,可以迅速把握文章的主题、大致内容和结构标题通常能概括文章......
  • [BUUCTF]ciscn_2019_c_1
     0.环境Ubantu-22.04.41.查看文件格式终端中输入命令checksec--file='filename'    #filename为下载文件的自定义名称输出结果为没开canary保护,开了NX终端中输入命令file'filename' 输出为64位,放到ida64里反编译2.IDA分析程序 1.main函数 ......