Summary and Schedule
This course is a hands-on introduction to the vantage6 infrastructure for privacy-enhanced learning. The course consists of eight modules which will teach you what vantage6 is and how you can use it. This page will guide you through the installation of the required software before you start the course.
Setup Instructions | Download files required for the lesson | |
Duration: 00h 00m | 1. Introduction to privacy enhancing technologies (PET) |
What techniques exist for analyzing data while protecting
privacy? What are issues with only using data anonymization or pseudonymization? What are the building blocks to create a privacy enhancing analysis? What what are some non-technical challenges for performing privacy enhancing analysis? |
Duration: 01h 15m | 2. vantage6 basics |
Why should I use vantage6? How does vantage6 work? How do federated algorithms run in vantage6? What will be available in vantage6 in the future? |
Duration: 01h 25m | 3. Running a PET analysis without programming on vantage6 |
How can I perform basic administrative activities on vantage6 using the
web-based UI? How do I check the status of a specific collaboration or study in the vantage6 UI? How do I request a task through the vantage6 UI? |
Duration: 01h 30m | 4. Managing vantage6 server via the user interface |
What is the permission system in vantage6? What are the default roles in vantage6? How to create a new organization using vantage6 user interface (UI)? How to create a new user using vantage6 UI? How to create a new collaboration using vantage6 UI? |
Duration: 01h 34m | 5. Running a PET analysis using the Python client |
How to connect to the vantage6 server? How to explore the Client object?How to check details of a collaborations? How to start a compute task? How to collect the results of a finished computation? |
Duration: 01h 44m | 6. Setting up a vantage6 node |
What are the requirements to install a node? How to install the command line interface (CLI)? Which commands are available in the CLI? How to set up a new node? How to reset and update an API key? |
Duration: 01h 48m | 7. Algorithm development |
What do the algorithm tools in vantage6 provide? How do you create a personalized boilerplate using the v6 cli? What is the process for adapting the boilerplate into a simple algorithm? How can you test your algorithm using the mock client? How do you build your algorithm into a docker image? How do you set up a local test environment using the v6 cli ( v6 dev )?How can you publish your algorithm in the algorithm store? How can you run your algorithm? |
Duration: 02h 03m | 8. Work on your own project | How can you use vantage6 in your own project? |
Duration: 02h 14m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
Before you jump to the installation instructions, consider the following. This course can be divided into two parts, depending on wether you are only participating in the first part or both parts the setup requirements are different:
- part one, chapters 1 to 4, is about understanding and using vantage6 through the User Interface (UI). In case you are only participating in the part one, you need a web browser and internet in order to access the vantage6 UI. You can skip this setup episode and start the course right away.
- part two, chapters 5 to 8, is more advanced and requires programming experience. Your laptop should be able to run the all the vantage6 software components locally. In this episode, we will guide you through the installation. Please make sure to complete the installation before starting the course.
Need additional help?
Have you followed the instructions in this lesson and still have issues with the installation?
Please reach out to us on the vantage6 Discord channels. Or alternatively, you can send an email to f.martin@iknl.nl or d.smits@esciencecenter.nl.
Software setup
Vantage6 requires the following software to be installed on your system. In this lesson, we will explain how to install it:
- Recommended operating system: Ubuntu 20.04+ , MacOS Big Sur+, or Windows 10+
- Docker Desktop (Windows, MacOS) or the Docker Engine (Linux)
- Miniconda (latest version)
- Python v3.10
- Python packages:
- A code editor Visual Studio Code, PyCharm or something similar
Docker
Windows and MacOS
We recommend installing Docker Desktop on your system, which is the easiest way to install Docker. You can download it from the Docker website. Docker Desktop is available for MacOS, Windows, and Linux.
You can follow the official instructions to install Docker Desktop on MacOS or Windows.
Linux
We recommend installing the Docker Engine on your Linux system. You
can follow the official instructions to install Docker Engine for Linux.
After the installation, make sure that it can run Docker containers
without sudo
. Please follow the instructions in this
guide to set that up.
Alternatively, you can install Docker Desktop on your Linux system. You can follow the official instructions to install Docker Desktop for Linux.
After installing the Docker Desktop or Docker engine, open your terminal, and then verify the installation by running the command:
OUTPUT
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
(Mini)conda
There are several ways to install Conda on your system. For this course, we recommend using Miniconda installer. However if you already have Anaconda installed, you can use it as well.
Follow the official instructions to install Miniconda on Windows, MacOS, or Linux.
After installing Miniconda, open a new terminal window and verify the installation by running the command:
OUTPUT
conda 24.4.0
It’s OK if the version number is different as long as you can create a Python environment as shown in the next step.
If you see an error message, you may need to restart your terminal or even your computer.
Python environment and Python packages
Now build a new Python environment using conda and install the required Python packages.
BASH
# Create a new conda environment
conda create -n v6-workshop python=3.10
# Activate the new environment
conda activate v6-workshop
# Install the required Python packages
pip install jupyterlab vantage6==4.7.1 vantage6-client==4.7.1 vantage6-algorithm-tools==4.7.1
- Verify the installation of
vantage6
:
If the installation is successful, it will print out a message explaining the usage.
OUTPUT
Usage: v6 [OPTIONS] COMMAND [ARGS]...
The `v6` command line interface allows you to manage your vantage6
infrastructure.
It provides a number of subcommands to help you with this task.
Options:
--help Show this message and exit.
Commands:
algorithm Manage your vantage6 algorithms.
algorithm-store Manage your vantage6 algorithm store server instances.
dev Quickly manage a test network with a server and...
node Manage your vantage6 node instances.
server Manage your vantage6 server instances.
test Execute tests on your vantage6 infrastructure.
- Verify the installation of
jupyterlab
:
Make sure JupyterLab opens in your browser.
- Verify the installation of
vantage6-client
andvantage6-algorithm-tools
: Now create a new jupyter notebook in your jupyter lab environment and run a cell with the following code:
If there is no output and no error message, the installation is successful.
Create Dockerhub account
In this course, we will build our own vantage6 algorithms. Part of these exercises will be to share the algorithm Docker images online. For this, you need a Dockerhub account. Please create one here on the Dockerhub website. Make sure to remember your username and password!
Congratulations 🎉 You have successfully set up all required software for this lesson!