DL框架之Keras:深度学习框架Keras框架的简介、安装(Python库)、相关概念、Keras模型使用、使用方法之详细攻略(二)

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: DL框架之Keras:深度学习框架Keras框架的简介、安装(Python库)、相关概念、Keras模型使用、使用方法之详细攻略

Keras的安装


pip install Keras

python -m pip install keras


image.png


哈哈,大功告成!继续学习去啦!

pip install --upgrade Kera


image.png


190827更新到2.2.5


image.png


190827再次还原到2.2.4

image.png



相关文章

Py之keras-resnet:keras-resnet的简介、安装、使用方法之详细攻略



Keras的使用方法


0、三种API方式:The Sequential Model (序列模型)、The functional API (函数式API)、Model subclassing(模型子类化)


from keras.models import Model

from keras.callbacks import ModelCheckpoint

from keras.layers import Conv2D, MaxPool2D, Flatten, Dropout, Dense, Input

from keras.optimizers import Adam

from keras.backend.tensorflow_backend import set_session

from keras.utils.vis_utils import model_to_dot

import tensorflow as tf

from keras.backend.tensorflow_backend import set_session

np.random.seed(5)

config = tf.ConfigProto()

config.gpu_options.allow_growth=True

set_session(tf.Session(config=config))


1、The Sequential Model 序列模型


-非常简单

-仅适用于单输入,单输出,顺序的层堆叠

-适用于70%以上的用例


Sequential 序列模型如所示

可以简单地使用.add() 来堆叠模型

在完成了模型的构建后, 可以使用.compile() 来配置学习过程:

如果需要,还可以进一步地配置优化器:

批量地在训练数据上进行迭代: # x_train 和y_train 是Numpy 数组--就像在Scikit-Learn API 中一样


或者,可以手动地将批次的数据提供给模型:


一行代码就能评估模型性能:

对新的数据生成预测

1、快速开始序贯(Sequential)模型  

序贯模型是多个网络层的线性堆叠,也就是“一条路走到黑”。  

(1)、可以通过向Sequential模型传递一个layer的list来构造该模型:  

from keras.models import Sequential

from keras.layers import Dense, Activation  

model = Sequential([ Dense(32, units=784), Activation('relu'), Dense(10), Activation('softmax'), ])

(2)、也可以通过.add()方法一个个的将layer加入模型中:  

model = Sequential() model.add(Dense(32, input_shape=(784,)))

model.add(Activation('relu'))


#引入Sequential,Dense,Activation

from keras.models import Sequential

from keras.layers import Dense, Activation

#向layer添加list方式

model = Sequential([Dense(32, input_dim=784),Activation('relu'),Dense(10),Activation('softmax'),])

#通过.add()方式

model = Sequential()

model.add(Dense(32, input_dim=784))

model.add(Activation('relu'))


2、The functional API 函数式API


-象玩乐高积木

-多输入,多输出,任意静态图拓扑

-适用于95%的用例


Keras 函数式API 是定义复杂模型(如多输出模型、有向无环图,或具有共享层的模型)的方法。


例一:全连接网络


3、Model subclassing 模型子类化


-最大的灵活性

-更大的可能错误面


(1)、通过对tf.keras.Model 进行子类化并定义你自己的前向传播来构建完全可自定义的模型。在__init__ 方法中创建层并将它们设置为类实例的属性。在call 方法中定义前向传播。

(2)、在启用Eager Execution 时,模型子类化特别有用,因为可以命令式地编写前向传播。

(3)、以下示例展示了使用自定义前向传播进行子类化的tf.keras.Model


class MyModel(tf.keras.Model):

   def __init__(self, num_classes=10):

       super(MyModel, self).__init__(name='my_model')

       self.num_classes = num_classes  

       # Define your layers here.

       self.dense_1 = layers.Dense(32, activation='relu')

       self.dense_2 = layers.Dense(num_classes, activation='sigmoid')

     

   def call(self, inputs):

       # Define your forward pass here,

       # using layers you previously defined (in `__init__`).

       x = self.dense_1(inputs)

       return self.dense_2(x)

   def compute_output_shape(self, input_shape):

       # You need to override this function if you want to use the subclassed model

       # as part of a functional-style model.# Otherwise, this method is optional.

       shape = tf.TensorShape(input_shape).as_list()

       shape[-1] = self.num_classes

       return tf.TensorShape(shape)

实例化新模型类

model = MyModel(num_classes=10) # The compile step specifies the training configuration.

model.compile(optimizer=tf.train.RMSPropOptimizer(0.001),

             loss='categorical_crossentropy',

             metrics=['accuracy'])

# Trains for 5 epochs.

model.fit(data, labels, batch_size=32, epochs=5)



相关文章
|
Linux 计算机视觉 C++
【解决方案】Building wheel for opencv-python:安装卡顿的原因与解决方案
当你安装OpenCV时,命令行停在Building wheel for opencv-python (PEP 517) ... -似乎卡住了。这并非程序假死,而是其编译耗时巨大。本文将揭示原因,并提供优化安装体验的实用方法。
1374 88
|
9月前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
716 1
|
10月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
1547 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
IDE 开发工具 开发者
手把手教你安装PyCharm 2025:开发者的Python IDE配置全流程+避坑指南
本教程详细介绍了PyCharm 2025版本在Windows系统下的安装流程及配置方法,涵盖AI代码补全与智能调试工具链等新功能。内容包括系统要求、安装步骤、首次运行配置(如主题选择与插件安装)、创建首个Python项目,以及常见问题解决方法。此外,还提供了切换中文界面和延伸学习资源的指导,帮助用户快速上手并高效使用PyCharm进行开发。
6398 61
|
12月前
|
人工智能 数据挖掘 Linux
Centos安装Python3.7(亲测可用)
本指南详细介绍了在基于Linux(以CentOS系统为例,使用yum包管理器)的系统上安装Python 3.7版本的完整流程。Python是一种广泛使用的高级编程语言,在各种领域如软件开发、数据分析、人工智能和区块链开发等都有着重要的应用。
906 2
|
12月前
|
人工智能 Python
python基本数据类型简介
本文简要介绍了Python的基本数据类型,包括整型、浮点型、字符串、列表、字典和布尔类型,帮助读者对Python数据类型有初步了解。
288 0
|
存储 缓存 文件存储
uv安装python及其依赖的加速方法
国内在使用uv的时候,可能会涉及到装python的速度太慢的问题,为了解决这个问题,可以使用`UV_PYTHON_INSTALL_MIRROR`这个环境变量。除此以外,对于多人协作场景,`UV_CACHE_DIR`也是一个有用的环境变量。本文会介绍这两个变量。
8675 10
|
机器学习/深度学习 运维 安全
深度学习在安全事件检测中的应用:守护数字世界的利器
深度学习在安全事件检测中的应用:守护数字世界的利器
599 22
|
机器学习/深度学习 传感器 数据采集
深度学习在故障检测中的应用:从理论到实践
深度学习在故障检测中的应用:从理论到实践
1425 6
|
机器学习/深度学习 编解码 人工智能
计算机视觉五大技术——深度学习在图像处理中的应用
深度学习利用多层神经网络实现人工智能,计算机视觉是其重要应用之一。图像分类通过卷积神经网络(CNN)判断图片类别,如“猫”或“狗”。目标检测不仅识别物体,还确定其位置,R-CNN系列模型逐步优化检测速度与精度。语义分割对图像每个像素分类,FCN开创像素级分类范式,DeepLab等进一步提升细节表现。实例分割结合目标检测与语义分割,Mask R-CNN实现精准实例区分。关键点检测用于人体姿态估计、人脸特征识别等,OpenPose和HRNet等技术推动该领域发展。这些方法在效率与准确性上不断进步,广泛应用于实际场景。
1618 64
计算机视觉五大技术——深度学习在图像处理中的应用

推荐镜像

更多