MetisFL - Kerangka Pembelajaran Federasi Terbuka Pertama yang diimplementasikan dalam C++ dan Python3.
Karena beberapa inkonsistensi perpustakaan yang muncul di seluruh sistem operasi (misalnya, Centos vs MacOS), kami menyimpulkan bahwa kami harus membuat image buruh pelabuhan dan menjalankan seluruh proyek dalam sebuah container. Dockerfile berisi semua langkah yang diperlukan.
Prasyarat sistem:
Untuk mengkompilasi dan menjalankan proyek melalui buruh pelabuhan, navigasikan ke direktori induk proyek dan kemudian:
Jalankan chmod +x ./configure.sh && ./configure.sh
untuk mengonfigurasi proyek metis fl.
Catatan: kami menjalankan perintah di atas sebelum membuat image buruh pelabuhan karena untuk mengonfigurasi semua dependensi proyek.
Bangun image buruh pelabuhan untuk keseluruhan proyek.
docker build -t projectmetis_ubuntu_22_04 -f DockerfileUbuntu .
docker build -t projectmetis_dev -f DockerfileDev .
docker build -t projectmetis_rockylinux_8 -f DockerfileRockyLinux .
Perkiraan ukuran untuk salah satu gambar berikut (menggunakan buruh pelabuhan): ~9GB (tanpa CUDA), ~12GB (dengan CUDA)Bangun image docker CUDA (hanya berlaku untuk image Ubuntu dan 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
)Jika file proyek tidak dapat diidentifikasi maka Anda perlu menyinkronkan Bazel. Untuk melakukannya:
https://trello.com/b/bYLUYqGK/metis-v01