
152
|
第
8
章
·
访问输入张量并直接写入它们的内存。
·
从输出张量中读取内存并将其复制到浮点数组等高级数据结构。
·
将带有故事板和视图控制器的用户界面连接起来。
图
8-18
:在
iPhone
模拟器中运行应用程序
在下一节中,你将超越这个简单的场景,着眼于处理更复杂的数据。
8.4.8
超越“
Hello World
”:处理图像
在前面的示例中,你看到了如何创建一个完整的应用程序,该应用程序使用 TensorFlow
Lite 进行非常简单的推理。然而,尽管应用程序很简单,但将数据输入模型和解析模型
数据的过程可能有点不直观,因为你要处理底层存储。当你进入更复杂的场景(例如管
理图像)时,好消息是该过程并没有那么复杂。
考虑用你创建的模型来区分猫和狗。在本节中,你将看到如何在 Swift 中使用经过训练
的模型创建 iOS 应用程序,该模型在给定猫或狗的图像的情况下,能够推断出图片中的
内容。本书 GitHub 存储库中提供了完整的应用程序代码,以及用于训练模型并将其转
换为 TFLite 格式的 Colab notebook。
首先,回想一下图像的张量具有三个维度:宽度、高度和颜色深度。因此,例如,当使
用基于狗与猫样本的 MobileNet 架构时,尺寸为 224×224×3
—
每张图像为 224×224
像素,并且具有三个颜色深度通道。请注意,归一化后的每个像素在每个通道中都由 0
到 1 之间的值表示,指示该像素在红色、绿色和蓝色通道上的强度。
正文.indd 152正文.indd 152