Threepio makes it dead simple to translate commands between machine learning frameworks such as PyTorch, Tensorflow.js, and Tensorflow Python. It acts as a core component in PySyft and syft.js. Some of the life changing features this library provides are:
- 🤖 Automatic bi-directional translation between same named commands
add
,abs
, etc. - 🧠 Smart argument mapping between automaticaly translated commands
- 🔁 Word level translation between libraries
- 🔧 Custom command translation
- 🌿 One to many command translation
- ⚡ Translation of tensor methods (in progress)
- 🔍 Support for fuzzy match in automatic command translation (in progress)
- 🗂️ Support for framework versioning in automatic translation (in progress)
- 🧙♂️ Support for automatic argument type casting (tensorflow tensor -> pytorch tensor) (in progress)
Threepio is made up of three main components:
- 🕷️ Documentation Crawler - This generates the majority of our automatic translations for Threepio
- 🐍 Python translation library - This is the python library for using threepio
- ☕ JS translation library - This is the javascript library for using threepio
And has clients in both Python and Javascript!
Depending on your language, installation will differ.
Use the package manager pip to install threepio.
pip install 3p0
Please check out our usage document for further guidelines.
Use the package manager npm to install threepio.
npm install @openmined/threepio
Please check out our usage document for further guidelines.
For support in using this library, please join the #lib_threepio Slack channel. If you'd like to follow along with any code changes to the library, please join the #code_threepio Slack channel. Click here to join our Slack community!
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
Please make sure to fill this section in with all former and current contributors to the project. Documentation on how to do this is located here.