TensorFlow 模型建立与训练
TensorFlow 模型建立与训练
本章介绍如何使用 TensorFlow 快速搭建动态模型。
- 模型的构建: tf.keras.Model 和 tf.keras.layers
- 模型的损失函数: tf.keras.losses
- 模型的优化器: tf.keras.optimizer
- 模型的评估: tf.keras.metrics
前置知识
- Python -{zh-hant: 物件導向;zh-hans: 面向對象;}- 编程 (在 Python 内定义类和方法、类的继承、构造和析构函数,使用 super () 函数调用父类方法 ,使用__call__() 方法对实例进行调用 等);
- 多层感知机、卷积神经网络、循环神经网络和强化学习(每节之前给出参考资料)。
- Python 的函数装饰器 (非必须)
模型(Model)与层(Layer)
- 在 TensorFlow 中,推荐使用 Keras( tf.keras )构建模型。
Keras 是一个广为流行的高级神经网络 API,简单、快速而不失灵活性,现已得到 TensorFlow 的官方内置和全面支持。 - Keras 有两个重要的概念: 模型(Model) 和 层(Layer) 。
- 层将各种计算流程和变量进行了封装(例如基本的全连接层,CNN 的卷积层、池化层等),
- 模型则将各种层进行组织和连接,并封装成一个整体,描述了如何将输入数据通过各种层以及运算而得到输出。
- 在需要模型调用的时候,使用 y_pred = model(X) 的形式即可。
- Keras 在 tf.keras.layers 下内置有深度学习用的大量常用的预定义层;
- Keras同时也允许我们自定义层。
- Keras 模型以类的形式呈现,我们可以通过继承
tf.keras.Model
这个Python 类
来定义自己的模型。在继承类中,我们需要重写__init__()
(构造函数,初始化)和call(input)
(模型调用)两个方法,同时也可以根据需要增加自定义的方法。
class MyModel(tf.keras.Model): def __init__(self): super().__init__() # Python 2 下使用 super(MyModel, self).__init__() # 此处添加初始化代码(包含 call 方法中会用到的层),例如 # layer1 = tf.keras.layers.BuiltInLayer(...) # layer2 = MyCustomLayer(...) def call(self, input): # 此处添加模型调用的代码(处理输入并返回输出),例如 # x = layer1(input) # output = layer2(x) return output # 还可以添加自定义的方法标签:__,keras,模型,BigDataAIML,tf,TensorFlow,Model From: https://www.cnblogs.com/abaelhe/p/18188829