2.4.1 准备模型
TensorFlow Lite提供了转换TensorFlow模型的工具,还提供了可以在移动端(Mobile)、嵌入式(Embeded)和物联网(IoT)设备上运行TensorFlow模型所需的所有工具。TensorFlow Lite允许在多种设备上运行TensorFlow模型。TensorFlow模型是一种数据结构,这种数据结构包含了在解决一个特定问题时,训练得到的机器学习网络的逻辑和知识。
在TensorFlow Lite程序中,可以通过多种方式获得TensorFlow模型,如使用预训练模型(Pre-Trained Models)和训练自定义的模型等。为了在TensorFlow Lite中使用模型,必须将模型转换成一种特殊格式。
注意:并不是所有的TensorFlow模型都能在TensorFlow Lite中运行,因为解释器只支持部分TensorFlow运算符。
1.使用预训练模型
TensorFlow Lite官方为开发者提供了一系列预训练模型,用于解决各种机器学习问题。官方将这些模型进行了转换处理,这样可以与TensorFlow Lite一起使用,且可以在应用程序中使用。
TensorFlow Lite官方提供的部分预训练模型如下。
· 图像分类模型(Image Classification)。
· 物体检测模型(Object Detection)。
· 智能回复模型(Smart Reply)。
· 姿态估计模型(Pose Estimation)。
· 语义分割模型(Segmentation)。
还可以在模型列表中查看预训练模型的完整列表。
2.使用其他来源的模型
开发者还可以使用其他来源的预训练模型,包括TensorFlow Hub。在大多数情况下,这些模型不会以TensorFlow Lite格式提供,必须在使用前转换这些模型。
TensorFlow Hub是用于存储可重用机器学习资产的仓库,在hub.tensorflow.google.cn仓库中提供了许多预训练模型,如文本嵌入、图像分类模型等。开发者可以从tensorflow_hub库下载资源,并以最少的代码量在TensorFlow程序中重用这些资源。
3.重新训练模型
重新训练模型也叫迁移学习(Transfer Learning),迁移学习允许开发者采用训练好的模型重新训练,以执行其他任务。例如,可以重新训练一个图像分类模型以识别新的图像类别。与从头开始训练的模型相比,重新训练花费的时间更少,所需的数据更少。开发者可以使用迁移学习,根据自己的应用程序定制预训练模型。
4.训练自定义模型
如果要训练自定义的TensorFlow模型,或者训练从其他来源得到的模型,训练前,需要将此模型转换成TensorFlow Lite格式。
TensorFlow Lite解释器是一个库,能够接收一个模型文件,在执行模型文件,需要在输入数据(Input Data)上定义运算符(Operations),并提供对输出(output)的访问。