题目: How to convert a NN model from TensorFlow Lite to CoreML
摘要: 苹果推出Create-ML已经一年多了,Create-ML是一个框架,它允许你用Swift构建神经网络模型,并在iphone和ipad上使用Core-ML。然而,获得corem-ML模型的最常见方法仍然是转换在TensorFlow、Keras、Pytorch或其他ML框架上训练的模型。苹果官方支持coremltools,它允许转换一些模型格式,如Keras、Caffe(v1)和TensorFlow(从3.0版开始)。不幸的是,并非所有的模型格式都能如此容易地转换为核心ML。例如,没有支持转换TensorFlow Lite模型的库。虽然在TensorFlow中训练自己的模型时不需要这样做,但如果您希望在不同的设备框架之间进行性能比较,或者如果您希望在CoreML中运行最近发布的研究模型,并且您只有TF-Lite格式的模型,则这会很有帮助。TensorFlow Lite用于在移动或嵌入式设备上部署TensorFlow模型,但不用于培训它们。一旦转换为TF-Lite,模型就不能转换回TensorFlow模型,但我们可以检查其结构并导出其权重,以便在TensorFlow中重新实现网络图。然后我们可以使用coremltools或tfcoreml将其转换为CoreML。这是我们将在本教程中完成的。我们将使用TF-Lite示例库中的MNIST模型。MNIST是一个手写数字数据库。因此,该模型试图执行的任务是识别手写数字,这可以用一个相对较小的模型来完成。