Introduction#
What is vantage6?#
Vantage6 stands for privacy preserving federated learning infrastructure for secure insight exchange.
The project is inspired by the Personal Health Train (PHT) concept. In this analogy vantage6 is the tracks and stations. Compatible algorithms are the trains, and computation tasks are the journey. Vantage6 is completely open source under the Apache License.
What vantage6 does:
delivering algorithms to data stations and collecting their results
managing users, organizations, collaborations, computation tasks and their results
providing control (security) at the data-stations to their owners
What vantage6 does not (yet) do:
formatting the data at the data station
aligning data across the data stations (for the vertical partitioned use case)
The vantage6 infrastructure is designed with three fundamental functional aspects of federated learning.
Autonomy. All involved parties should remain independent and autonomous.
Heterogeneity. Parties should be allowed to have differences in hardware and operating systems.
Flexibility. Related to the latter, a federated learning infrastructure should not limit the use of relevant data.
Overview of this documentation#
This documentation space consists of the following main sections:
Introduction → You are here now
User guide → How to use vantage6 as a researcher
Node admin guide → How to install and configure vantage6 nodes
Server admin guide → How to configure and deploy vantage6 servers
Feature descriptions (Under construction) → Documentation of vantage6 features
Developer community → How to collaborate on the development of the vantage6 infrastructure
Algorithm Development → Develop algorithms that are compatible with vantage6
Function documentation → Documentation of the vantage6 infrastructure code
Glossary → A dictionary of common terms used in these docs
Release notes → Log of what has been released and when
Vantage6 resources#
This is a - non-exhaustive - list of vantage6 resources.
Documentation
docs.vantage6.ai → This documentation.
vantage6.ai → vantage6 project website
Academic papers → Technical insights into vantage6
Source code
vantage6 → Contains all components (and the python-client).
Planning → Contains all features, bugfixes and feature requests we are working on. To submit one yourself, you can create a new issue.
Community
Discord → Chat with the vantage6 community
Community meetings → Bi-monthly developer community meeting
Index#
- 1. User guide
- 2. Node admin guide
- 3. Server admin guide
- 4. Algorithm Development
- 4.1. Algorithm concepts
- 4.2. Algorithm development guide
- 4.2.1. Starting point
- 4.2.2. Deciding which functions to implement
- 4.2.3. Implementing the algorithm functions
- 4.2.4. Algorithm wrappers
- 4.2.5. Environment variables
- 4.2.6. VPN
- 4.2.7. Returning results
- 4.2.8. Example functions
- 4.2.9. Testing your algorithm
- 4.2.10. Writing documentation
- 4.2.11. Modifying the Dockerfile
- 4.2.12. Package & distribute
- 4.2.13. Calling your algorithm from vantage6
- 4.3. Classic Tutorial
- 5. Feature descriptions
- 6. Developer community
- 7. Function documentation
- 7.1. Node
- 7.2. Server
- 7.3. Command line interface
- 7.4. Python client
- 7.5. Algorithm client and tools
- 7.6. Common functions (
vantage6-common
)- 7.6.1. vantage6.common.configuration_manager
- 7.6.2. vantage6.common.context
- 7.6.3. vantage6.common.encryption
- 7.6.4. vantage6.common
- 7.6.5. vantage6.common.docker.addons
ContainerKillListener
check_docker_running()
delete_network()
get_container()
get_network()
get_networks_of_container()
get_num_nonempty_networks()
get_server_config_name()
inspect_local_image_timestamp()
inspect_remote_image_timestamp()
pull_if_newer()
registry_basic_auth_header()
remove_container()
remove_container_if_exists()
running_in_docker()
- 7.6.6. vantage6.common.docker.network_manager
- 7.6.7. vantage6.common.task_status
- 7.6.8. vantage6.common.colors
- 7.6.9. vantage6.common.exceptions
- 8. Glossary
- Release notes
- 4.0.0
- 3.11.1
- 3.11.0
- 3.10.4
- 3.10.3
- 3.10.1
- 3.10.0
- 3.9.0
- 3.8.8
- 3.8.7
- 3.8.6
- 3.8.3 - 3.8.5
- 3.8.2
- 3.8.1
- 3.8.0
- 3.7.3
- 3.7.2
- 3.7.1
- 3.7.0
- 3.6.1
- 3.5.2
- 3.5.1
- 3.5.0
- 3.4.2
- 3.4.0 & 3.4.1
- 3.3.7
- 3.3.6
- 3.3.5
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.0
- 3.1.0
- 3.0.0
- 2.3.0 - 2.3.4
- 2.2.0
- 2.1.2 & 2.1.3
- 2.1.1
- 2.1.0
- 2.0.0.post1
- 2.0.0
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.0
- Partners