Path: blob/master/site/zh-cn/tutorials/quickstart/beginner.ipynb
25118 views
Copyright 2019 The TensorFlow Authors.
初学者的 TensorFlow 2.0 教程
此简短介绍使用 Keras 进行以下操作:
加载一个预构建的数据集。
构建对图像进行分类的神经网络机器学习模型。
训练此神经网络。
评估模型的准确率。
这是一个 Google Colaboratory 笔记本文件。 Python程序可以直接在浏览器中运行,这是学习 Tensorflow 的绝佳方式。想要学习该教程,请点击此页面顶部的按钮,在Google Colab中运行笔记本。
在 Colab中, 连接到Python运行环境: 在菜单条的右上方, 选择 CONNECT。
要在笔记本中运行所有代码,请选择 Runtime > Run all。要一次运行一个代码单元,请将鼠标悬停在每个单元上并选择 Run cell 图标。
设置 TensorFlow
首先将 TensorFlow 导入到您的程序:
构建机器学习模型
构建 tf.keras.Sequential
模型:
tf.nn.softmax
函数将这些 logits 转换为每个类的概率:
注:可以将 tf.nn.softmax
烘焙到网络最后一层的激活函数中。虽然这可以使模型输出更易解释,但不建议使用这种方式,因为在使用 softmax 输出时不可能为所有模型提供精确且数值稳定的损失计算。
使用 losses.SparseCategoricalCrossentropy
定义训练的损失函数:
损失函数采用真实值向量和逻辑向量,并返回每个样本的标量损失。此损失等于真实类的负对数概率:如果模型确定类正确,则损失为零。
这个未经训练的模型给出的概率接近随机(每个类为 1/10),因此初始损失应该接近 -tf.math.log(1/10) ~= 2.3
。
在开始训练之前,使用 Keras Model.compile
配置和编译模型。将 optimizer
类设置为 adam
,将 loss
设置为您之前定义的 loss_fn
函数,并通过将 metrics
参数设置为 accuracy
来指定要为模型评估的指标。
训练并评估模型
使用 Model.fit
方法调整您的模型参数并最小化损失:
现在,这个照片分类器的准确度已经达到 98%。想要了解更多,请阅读 TensorFlow 教程。
如果您想让模型返回概率,可以封装经过训练的模型,并将 softmax 附加到该模型: