锋哥原创的TensorFlow2 Python深度学习视频教程:
https://www.bilibili.com/video/BV1X5xVz6E4w/
课程介绍
本课程主要讲解基于TensorFlow2的Python深度学习知识,包括深度学习概述,TensorFlow2框架入门知识,以及卷积神经网络(CNN),循环神经网络(RNN),生成对抗网络(GAN),模型保存与加载等。
TensorFlow2 Python深度学习 - TensorFlow2框架入门 - 使用Keras.Model来定义模型
在TensorFlow 2.x中,Keras API被整合进TensorFlow核心库,这意味着你可以直接使用tf.keras
模块来构建和训练神经网络模型。
我们使用TensorFlow2里的Keras.Model来定义模型方式实现下上一个节的实例,然后进行对比下,对我们学习和认识TensorFlow2会有很大帮助。
如果您将tf.keras.Model子类化,则定义模型与其看起来完全相同。请记住,Keras模型最终从模块继承。
# 定义模型
class MyModelKeras(tf.keras.Model):
def __init__(self, **kwargs):
super().__init__(**kwargs)
# 将权重初始化为5.0,偏置初始化为0.0
# 在实际应用中,这些参数应该被随机初始化
self.w = tf.Variable(5.0)
self.b = tf.Variable(0.0)
def call(self, x):
return self.w * x + self.b
keras_model = MyModelKeras()
# 训练模型
training_loop(keras_model, x, y)
运行结果:
开始:
W = 5.00, b = 0.00, loss=10.73324
第 1轮:
W = 4.48, b = 0.43, loss=6.67150
第 2轮:
W = 4.09, b = 0.78, loss=4.32498
第 3轮:
W = 3.81, b = 1.05, loss=2.95827
第 4轮:
W = 3.61, b = 1.27, loss=2.15569
第 5轮:
W = 3.46, b = 1.45, loss=1.68053
第 6轮:
W = 3.35, b = 1.59, loss=1.39699
第 7轮:
W = 3.27, b = 1.71, loss=1.22649
第 8轮:
W = 3.21, b = 1.80, loss=1.12323
第 9轮:
W = 3.17, b = 1.87, loss=1.06027
第10轮:
W = 3.14, b = 1.93, loss=1.02164