diff --git a/doc/databases.rst b/doc/databases.rst index 3e82f0418d7f0e525906d14711e89f35c788b4b2..9aedd96629cc4059cd1292bd29b34090367fefbc 100644 --- a/doc/databases.rst +++ b/doc/databases.rst @@ -130,15 +130,27 @@ Each database has a JSON_ declaration. This file has the information about the p "template": "simple_face_recognition" } ], - "root_folder": "/path_to_db_folder/att_faces" + "root_folder": "/path_to_db_folder/att_faces", + "environment": { + "name": "Databases", + "version": "1.0.0" + } } -The JSON_ file for a database has three main field. +The JSON_ file for a database has three main field: * **description:** A short description of the database. * **protocols:** a list of protocols defined for the database. * **root_folder:** path to the directory where the data is stored. +and one optional field: + +* **environment:** The name and version of the runtime environment to use for this database. + +If the environment field is not given, the system will try to find an appropriate environment using the database name as reference. If no database environment declares support for the database, then the execution will fail. + +The content of name and version follows the same pattern as for the execution environment as can be seen on the `beat environments`_ page. The name is what comes before the parenthesis and the version is the content found between the parenthesis. + The "protocols" field is where the datasets for each protocol is defined. In the example above only one protocol is defined. Implementing a new protocol means adding a new entry to the list of protocols. Each protocol has three main component: * **name:** The name of the protocol which is "idiap" in this case. @@ -379,4 +391,26 @@ new evaluation protocols into the platform. Besides, at the experiment level, this allows to re-use a toolchain on a different database, with almost no configuration changes from the user. + +.. _beat-system-databases-docker: + +Databases and Docker +==================== + +The BEAT docker images can be found on the `beat Docker Hub`_ page. + +To get one of the image on your machine, just type the classic Docker command: + + $ docker pull beatenv/beat.env.XXX:TAG + +Note that there are no "latest" version because of the reproducibility goal of BEAT. Therefore, you will always have to pull the precise version you want to use. + +In order to list all the BEAT related Docker images on your machine, use the following command: + + $ beat environments list docker + +To have a more curated list of images, the following command shows only the database related BEAT images: + + $ docker images --format "{{.Repository}}:{{.Tag}}" --filter label="beat.env.type=database" + .. include:: links.rst diff --git a/doc/links.rst b/doc/links.rst index 212830697d58452658f00da12246a9932c067edf..e1bb428d451adfca075a5f0acf91ff60b6b5c887 100644 --- a/doc/links.rst +++ b/doc/links.rst @@ -18,6 +18,9 @@ .. _conda: https://conda.io/ .. _beat editor: https://www.idiap.ch/software/beat/docs/beat/docs/new/beat.editor/doc/index.html .. _bob: https://www.idiap.ch/software/bob/docs/bob/docs/stable/bob/doc/index.html +.. _beat platform: https://www.idiap.ch/software/beat/platform/ +.. _beat environments: https://www.idiap.ch/software/beat/platform/backend/environments/ +.. _beat Docker Hub: https://hub.docker.com/u/beatenv .. _idiap: http://www.idiap.ch .. _eigenface: https://en.wikipedia.org/wiki/Eigenface .. _database interfaces: https://www.idiap.ch/software/bob/docs/bob/docs/stable/bob/bob.db.base/doc/index.html