v0.2.7
PySyft 0.2.7 Release Notes
New functionality:
- Implement msgpack serde for RoleAssignments (#3595 by @Jasopaum)
- Create
AbstractSendable
class to provide comms methods generically (#3611 by @karlhigley) - Support serialization of lists in Arg (#3617 by @vvmnnnkv and @karlhigley)
- Add FV homomorphic encryption scheme (#3276 @IamRavikantSingh)
- Proto messaging support (#3638 by @tudorcebere)
- BaseDataset proto support (#3641 by @tudorcebere & @karlhigley)
- Add iterable behavior for PointerTensor (#3659 by @gmuraru)
- Add connection speed test for workers (#3609 by @vkkhare)
- Add mean and var methods for AST (#3682 by @LaRiffle)
- Add new gradient functions to Autograd (#3681 by @LaRiffle)
- Implemented Subtraction operation of FV Scheme (#3775 by @IamRavikantSingh)
- Add a mechanism for arbitrary remote exec on Python workers (#3689 by @LaRiffle)
- Add Multiplication operation of FV scheme. (#3711 by @IamRavikantSingh)
Bug fixes
- Fix federated_avg side effect (#3614 @joaolcaas)
- serde, torch: fix typo in numpy tensor serializer. (#3644 by @shubham3121)
- Fixed precision tensor support (#3650 by @tudorcebere & @karlhigley)
- Fix: Copy issue with ciphertext in FV scheme. (#3672 by @IamRavikantSingh)
- Fix dtype issues in AST (#3679 by @LaRiffle)
- Fix decorator issues for FSS in AST (#3680 by @LaRiffle)
- Fix bug in set_model_params() in Create Plan (#3781 @sachin-101)
- Fix grid model hosting for large models (#3719 by @IonesioJunior)
- Fix Plan trace for inplace ops, add Role actions pruning (#3798 by @vvmnnnkv and @LaRiffle)
- Fix issues in handle_func_command for syft tensors (#3807 by @LaRiffle)
Refactoring:
- Use serde for tags serialization in PointerTensor (#3566 by @gmuraru)
- Move torch arg hooking into the relevant classes to reduce circular imports (#3612 by @karlhigley)
- Remove protocol parameter in decrypt (#3599 by @youben11)
- Add utilities for hooking and chaining methods calls along tensor chain (#3636 by @karlhigley)
- Add an
__init__.py
file tosyft.generic.abstract
(#3642 by @karlhigley) - Move permissions from
TorchTensor.send()
toPrivateTensor._before_send
hook (#3643 by @karlhigley) - Remove owner attribute from FrameworkWrapper (#3652 by @Jasopaum)
- Move tests for generic functionality out of
test/torch/tensors
dir (#3645 by @karlhigley) - Clean up
AbstractSendable
to remove extraneous methods (#3660 by @karlhigley) - Improve
@hookable
decorator to allow modifying return values after (#3655 by @karlhigley) - Adding support in msgpack for external libs. (#3653 by @tudorcebere)
- Extract
MessageHandler
classes fromBaseWorker
(#3661 by @karlhigley) - Change
whitelist
toallow_list
(#3675 by @karlhigley) - Update Operations: For non same size polynomials (#3684 @IamRavikantSingh )
- Removed
wrap()
on non-tensor pointers inrespond_to_search()
(#3685 by @AlanAboudib) - feat: add plan translation to tfjs (#3371 @Nolski)
- Update hook_args list (#3677 by @LaRiffle)
- Customizable timeout in workers (#3760 by @youben11)
- Serialize Plan's roles and base_framework fields (#3801 by @vvmnnnkv and @gmuraru)
- Grid module architecture refactoring (#3818 by @hericlesme)
Docs & tutorials:
- Update CODEOWNERS file to reflect new team names (#3620 by @karlhigley)
- Update Part 11 - Secure Deep Learning Classification.ipynb (#3444 by @znreza)
- Simplify encrypted aggregation in the tutorials (#3666 by @bobsonlin26 )
Tests & CI
- Delete pull_request_template.md by @cereallarceny
- Register the
translation
mark with PyTest to suppress warnings (#3618 by @karlhigley) - Update requirements.txt with tornado compatible notebook version (#3606 by @rajathpatel23)
- Update the label used to mark stale issues/PRs (#3630 by @karlhigley)
- Added functionality to create a cluster using autoscale API (#3637 @rimijoker)