Cadre de graphes acycliques dirigés distribués pour l'apprentissage automatique avec interface utilisateur
L'objectif de MLComp est de fournir des outils de formation, d'inférence et de création de pipelines complexes (notamment pour la vision par ordinateur) d'une manière rapide et bien gérable.
MLComp est compatible avec : Python 3.6+, système d'exploitation Unix.
Fait partie de l'écosystème Catalyst. Manifeste du projet.
Caractéristiques
Interface utilisateur incroyable
Prise en charge du catalyseur
Formation distribuée
Superviseur qui contrôle les ressources informatiques
Synchronisation du code et des données
Surveillance des ressources
Fonctionnalité complète de la pause et de la suite sur l'interface utilisateur
Contrôle automatique des exigences
Dumping de code (avec coloration syntaxique sur l'interface utilisateur)
Intégration Kaggle
Journalisation hiérarchique
Recherche par grille
Comparaison des expériences
Personnalisation du système de mise en page
Contenu
Captures d'écran
Installation
Interface utilisateur
Usage
Documents et exemples
Variables d'environnement
Jours
Ordinateurs
Rapports
Code
Graphique
Plus de captures d'écran
Installer le package MLComp
sudo apt-get install -y libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libavresample-dev libavfilter-dev pip installer mlcomp initialisation mlcomp migrer mlcomp
Configurez votre environnement. Veuillez considérer la section Variables d'environnement
Exécutez db, redis, mlcomp-server, mlcomp-workers :
Variante 1 : minimale (si vous possédez 1 ordinateur)
Exécutez tout le nécessaire (mlcomp-server, mlcomp-workers, redis-server), il utilise SQLITE :
mlcomp-server start --daemon=True
Variante 2 : pleine
un. Modifiez vos variables d'environnement pour utiliser PostgreSql
b. Installez rsync sur chaque ordinateur de travail
sudo apt-get install rsync
Assurez-vous que chaque ordinateur est disponible via le protocole SSH avec l'IP/PORT que vous avez spécifié dans le fichier de variables d'environnement.
rsync exécutera les commandes suivantes :
télécharger
rsync -vhru -e "ssh -p {target.port} -o StrictHostKeyChecking=no" {dossier}/ {target.user}@{target.ip} :{dossier}/ --perms --chmod=777
télécharger
rsync -vhru -e "ssh -p {source.port} -o StrictHostKeyChecking=no" {source.user}@{source.ip} :{dossier}/ {dossier}/ --perms --chmod=777
c. Installer Apex pour l'apprentissage distribué
d. Pour exécuter postgresql, redis-server, mlcomp-server, exécutez sur votre ordinateur serveur :
cd ~/mlcomp/configs/ docker-compose -f serveur-compose.yml up -d
e. Exécuté sur chaque ordinateur de travail :
démarrage du travailleur mlcomp
Le site Web est disponible à l'adresse http://{WEB_HOST} :{WEB_PORT}
Par défaut, il s'agit de http://localhost:4201
La façade est construite avec AngularJS.
Si vous souhaitez le modifier, veuillez consulter la page Lisez-moi de Front.
Courir
mlcomp jour PATH_TO_CONFIG.yml
Cette commande copie les fichiers du répertoire dans la base de données.
Ensuite, le serveur planifie le DAG en tenant compte des ressources libres.
Pour plus d'informations, veuillez consulter Docs
La documentation de l'API et un aperçu de la bibliothèque peuvent être trouvés ici
Vous pouvez trouver des didacticiels avancés et les meilleures pratiques MLComp dans le dossier d'exemples du référentiel.
Le didacticiel FileSync décrit le mécanisme de synchronisation des données
Le fichier unique pour configurer votre environnement informatique se trouve dans ~/mlcomp/configs/.env
ROOT_FOLDER - dossier pour enregistrer les fichiers MLComp : configurations, base de données, tâches, etc.
TOKEN - jeton de sécurité du site. Veuillez le remplacer par n'importe quelle chaîne
DB_TYPE. Soit SQLITE, soit POSTGRESQL
POSTGRES_DB. Nom de la base de données PostgreSql
POSTGRES_USER. Utilisateur PostgreSql
POSTGRES_PASSWORD. Mot de passe PostgreSql
POSTGRES_HOST. Hôte PostgreSql
PGDONNEES. Emplacement des fichiers de base de données PostgreSql
REDIS_HOST. Hôte Redis
REDIS_PORT. Port Redis
REDIS_PASSWORD. Mot de passe Redis
WEB_HOST. Hébergeur du site MLComp. 0.0.0.0 signifie qu'il est disponible partout
WEB_PORT. Port du site MLComp
CONSOLE_LOG_LEVEL. niveau de journalisation pour la sortie sur la console
DB_LOG_LEVEL. niveau de journalisation pour la sortie vers la base de données
IP. IP d'un ordinateur de travail. L'ordinateur de travail doit être accessible depuis d'autres ordinateurs de travail par ces IP/PORT
PORT. Port d'un ordinateur de travail. L'ordinateur de travail doit être accessible depuis d'autres ordinateurs de travail par ces IP/PORT (protocole SSH)
MASTER_PORT_RANGE. plage de ports distribués pour un ordinateur de travail. 29500-29510 signifie que si cet ordinateur de travail est maître dans un apprentissage distribué, il utilisera le premier port libre de cette gamme. Les gammes de différents ordinateurs de travail ne doivent pas se chevaucher.
NCCL_SOCKET_IFNAME. Interface réseau NCCL.
FILE_SYNC_INTERVAL. Intervalle de synchronisation des fichiers en secondes. 0 signifie que la synchronisation des fichiers est désactivée
WORKER_USAGE_INTERVAL. Intervalle en secondes d'écriture de l'utilisation du travailleur dans la base de données
INSTALL_DEPENDENCIES. Vrai/Faux. Soit installer les bibliothèques dépendantes, soit non
SYNC_WITH_THIS_COMPUTER. Vrai/Faux. Si False, tous les ordinateurs sauf celui-là ne seront pas synchronisés avec celui-ci
CAN_PROCESS_TASKS. Vrai/Faux. Si faux, cet ordinateur ne traite pas les tâches
Vous pouvez voir vos interfaces réseau avec la commande ifconfig
. Veuillez considérer la doc nvidia