Skip to content

Send & Get datasets #2670

@LaRiffle

Description

@LaRiffle

We can currently send and get tensors, we would like to have the ability to directly fetch datasets with all the data inputs and targets in an easy way.

Things to do:

  • Change sy.BaseDataset to inherit from AbstractObject to have tagging and description and to be registrable by workers: this allows datasets to be referenced for the search functionality
  • Extend BaseDataset with a simplify and detail method (see other objects with a simplify and detail method like the FixedPrecisionTensor to understand the behaviour): this allows to send and receive datasets. (+ reference BaseDataset in serde.py just like FixedPrecisionTensor). You need to update syft-proto as well
  • Support pointing to BaseDataset: create a new type of Pointer for BaseDataset which inherits from ObjectPointer (get inspiration for example from PointerProtocol)
  • Add the .send() and .get() functionality to BaseDataset (for .send() you can get inspiration from Protocol and for .get() native.py)
  • Allow search of datasets in .search to fetch remote datasets: make sure the BaseWorker.search method correctly retrieve datasets

Each of this point can be addressed in a separate PR if needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Good first issue 🎓Perfect for beginners, welcome to OpenMined!Type: New Feature ➕Introduction of a completely new addition to the codebase

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions