Skip to content

Outcome of workshop exercise to create personalized algorithm boilerplate

License

Notifications You must be signed in to change notification settings

vantage6/workshop-average-boilerplate

Repository files navigation

workshop-average-boilerplate

Boilerplate code example after creating algorithm

This algorithm is designed to be run with the vantage6 infrastructure for distributed analysis and learning.

The base code for this algorithm has been created via the v6-algorithm-template template generator.

Checklist

Note that the template generator does not create a completely ready-to-use algorithm yet. There are still a number of things you have to do yourself. Please ensure to execute the following steps. The steps are also indicated with TODO statements in the generated code - so you can also simply search the code for TODO instead of following the checklist below.

  • Include a URL to your code repository in setup.py.
  • Implement your algorithm functions.
    • You are free to add more arguments to the functions. Be sure to add them after the client and dataframe arguments.
    • When adding new arguments, if you run the test/test.py script, be sure to include values for these arguments in the client.task.create() calls that are available there.
  • If you are using Python packages that are not in the standard library, add them to the requirements.txt and setup.py file.
  • Fill in the documentation template. This will help others to understand your algorithm, be able to use it safely, and to contribute to it.
  • If you want to submit your algorithm to a vantage6 algorithm store, be sure to fill in everything in algorithm_store.json (and be sure to update it if you change function names, arguments, etc.).
  • Finally, remove this checklist section to keep the README clean.

Dockerizing your algorithm

To finally run your algorithm on the vantage6 infrastructure, you need to create a Docker image of your algorithm.

A Docker image can be created by executing the following command in the root of your algorithm directory:

docker build -t [my_docker_image_name] .

where you should provide a sensible value for the Docker image name. The docker build command will create a Docker image that contains your algorithm. You can create an additional tag for it by running

docker tag [my_docker_image_name] [another_image_name]

This way, you can e.g. do docker tag local_average_algorithm harbor2.vantage6.ai/algorithms/average to make the algorithm available on a remote Docker registry (in this case harbor2.vantage6.ai).

Finally, you need to push the image to the Docker registry. This can be done by running

docker push [my_docker_image_name]

Note that you need to be logged in to the Docker registry before you can push the image. You can do this by running docker login and providing your credentials. Check this page For more details on sharing images on Docker Hub. If you are using a different Docker registry, check the documentation of that registry and be sure that you have sufficient permissions.

About

Outcome of workshop exercise to create personalized algorithm boilerplate

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published