doc-ai / tensorio-android

TensorIO for Android
2 stars 6 forks source link

Organize project structure to support submodules #7

Closed phildow closed 4 years ago

phildow commented 5 years ago

We want to organize the project to support independent submodules, as in TensorIO-iOS, with the following hierarchy:

TensorIO/
  Core
  TFLite
  TensorFlow
  Deploy
  Federated

TensorIO itself only includes Core by default, and the other submodules should be independent of one another, although they all depend on Core.

Backend specific implementations are contained in the TFLite and TensorFlow submodules, and they are mutually exclusive due to their own external dependencies on the TensorFlowLite and TensorFlow libraries, respectively, although that exclusion is not enforced by TensorIO.

Deploy and Federated are two submodules in active development in iOS and allow us to update models and execute federated learning with them.

The only project structure we need for Android at this point is:

TensorIO/
  Core
  TFLite

Which prepares us for supporting other backends and submodules.

In iOS this structure is specified using a "Podspec": https://github.com/doc-ai/tensorio-ios/blob/master/TensorIO.podspec

And you'll find that the source directory structure mirrors the submodule structure: https://github.com/doc-ai/tensorio-ios/tree/master/TensorIO/Classes

phildow commented 4 years ago

See #159