thelosergeek / KotlinSyft

The official Syft worker for secure on-device machine learning

Home Page:https://www.openmined.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KotlinSyft

License Language Size Android CI Version

Introduction

This is the android worker Library for PySyft

Of course, PySyft has the ability to run in its own environment but the final training procedure needs to deployed on the mobile workers using Torchscript.

KotlinSyft employs P2P connectivity for realization of distributed pysyft protocols.

Development Roadmap

For understanding the overall objective of the library please refer to openmined roadmap

  • Create the basic structure of KotlinSyft
  • Implement WebRTC flow in Android
  • Implement Protobuf in Android
  • Set up deployment to Maven
  • Implement split and stitch algorithm for data channels in Android
  • Add support for background task scheduling in Android
  • Implement sleep/wake detection in Android
  • Add support for charge detection and wifi detection in Android
  • Add bandwidth and Internet connectivity test in Android
  • Scaffold basic proposed worker API in Android
  • Execute plans in Android
  • Execute protocols in Android
  • Allow for training state to be persisted to temporary storage in the event of a failure in Android

Local Development

  1. Fork and clone
  2. Open Android Studio and import project
  3. Do your work.
  4. Push to your fork
  5. Submit a PR to openmined/KotlinSyft

Contributing

Read CONTRIBUTING.md

About

The official Syft worker for secure on-device machine learning

https://www.openmined.org

License:Apache License 2.0


Languages

Language:Kotlin 99.1%Language:Java 0.9%