MetisFL - Le premier framework d'apprentissage fédéré ouvert implémenté en C++ et Python3.
En raison de certaines incohérences de bibliothèque apparues entre les systèmes d'exploitation (par exemple, Centos vs MacOS), nous avons conclu que nous devrions créer une image Docker et exécuter l'intégralité du projet dans un conteneur. Le(s) fichier(s) Dockerfile(s) contiennent toutes les étapes requises.
Conditions préalables du système :
Pour compiler et exécuter le projet via Docker, accédez au répertoire parent du projet, puis :
Exécutez chmod +x ./configure.sh && ./configure.sh
pour configurer le projet metis fl.
Remarque : nous exécutons la commande ci-dessus avant de créer l'image Docker car pour configurer toutes les dépendances du projet.
Créez une image Docker pour l’ensemble du projet.
docker build -t projectmetis_ubuntu_22_04 -f DockerfileUbuntu .
docker build -t projectmetis_dev -f DockerfileDev .
docker build -t projectmetis_rockylinux_8 -f DockerfileRockyLinux .
Taille approximative de l'une des images suivantes (en utilisant Docker) : ~ 9 Go (sans CUDA), ~ 12 Go (avec CUDA)Créez une image Docker CUDA (applicable uniquement aux images Ubuntu et RockyLinux).
cd docker_images/cuda/ubuntu/11.7 && docker build -t projectmetis_ubuntu_22_04_cuda -f Dockerfile .
cd docker_images/cuda/rockylinux/11.3 && docker build -t projectmetis_rockylinux_8_cuda -f Dockerfile .
nvidia-docker run --rm --gpus all projectmetis_ubuntu_22_04_cuda nvidia-smi
brew install googletest
)brew install protobuf
)Si les fichiers du projet ne sont pas identifiables, vous devez synchroniser Bazel. Pour ce faire :
https://trello.com/b/bYLUYqGK/metis-v01