Android 带有TensorflowLite的Kotlin多片式

Android 带有TensorflowLite的Kotlin多片式,android,tensorflow,kotlin,tensorflow-lite,kotlin-multiplatform,Android,Tensorflow,Kotlin,Tensorflow Lite,Kotlin Multiplatform,有没有办法在共享逻辑中使用Kotlin Multiplateform和tensor flow lite模型来开发项目。目标是使用相同的tensor流模型和相同的kotlin代码,通过android和iOS从中检索数据。用户界面需要使用特定于平台的代码单独开发 我已经探索了许多kotlin MPP项目,其中kotlin共享逻辑将用于android和iOS,但我对tenserflow lite模型有疑问。它能在kotlin的共享逻辑中正常工作并为android和iOS提供相同的数据吗?iOS和and

有没有办法在共享逻辑中使用Kotlin Multiplateform和tensor flow lite模型来开发项目。目标是使用相同的tensor流模型和相同的kotlin代码,通过android和iOS从中检索数据。用户界面需要使用特定于平台的代码单独开发


我已经探索了许多kotlin MPP项目,其中kotlin共享逻辑将用于android和iOS,但我对tenserflow lite模型有疑问。它能在kotlin的共享逻辑中正常工作并为android和iOS提供相同的数据吗?

iOS和android都有使用TensorFlow的库,但这些库是不同的库,它们是为每个平台独立编写的(不同于TensorFlow C API,TensorFlow C API可以用于android和iOS)。因此,您将无法在通用kotlin代码中使用官方支持的TensorFlow API

幸运的是,通过引入公共
接口TensorFlowNativeApi
,您可以将公共逻辑与依赖平台的TensorFlowAPI调用分开。只需在这个接口中添加一些必要的TensorFlow API方法,并在公共代码中调用它们。然后在每个平台的应用程序中创建一个实现该接口的类(针对特定平台使用TensorFlow库),并将该实现传递给使用TensorFlow的公共代码


还值得注意的是,相同的TensorFlow Lite模型可以在两个平台上使用,只需使用从TensorFlow模型转换而来。

iOS和Android都有使用TensorFlow的库,但这些库是不同的库,它们是为每个平台独立编写的(与TensorFlow C API不同,TensorFlow C API可用于Android和iOS)。因此,您将无法在通用kotlin代码中使用官方支持的TensorFlow API

幸运的是,通过引入一个通用的
接口TensorFlowNativeApi
,您可以将您的通用逻辑从依赖于平台的TensorFlow API调用中分离出来。只需在该接口中添加一些必要的TensorFlow API方法,并在通用代码中调用它们。然后在每个平台的应用程序中创建一个实现该接口的类(针对特定平台使用TensorFlow库)并将此实现传递给使用TensorFlow的公共代码

还值得注意的是,相同的TensorFlow Lite模型可以在两个平台上使用,它只是必须使用从TensorFlow模型转换而来。

可能样本与此处相关,请查看。可能样本与此处相关,请查看。