Commit f22106b5 authored by Amir MOHAMMADI's avatar Amir MOHAMMADI

Merge branch 'update_database' into 'master'

Add information about the new optional environment field in database

See merge request !15
parents 7643e601 2c20d58c
Pipeline #41804 passed with stages
in 5 minutes and 10 seconds
......@@ -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
......@@ -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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment