Lisez ceci dans d'autres langues: 中文.
Ce référentiel contient les services de base de la plate-forme FFDL (tissu pour l'apprentissage en profondeur). FFDL est un "tissu" du système d'exploitation pour l'apprentissage en profondeur. Il s'agit d'une plate-forme de collaboration pour:

Pour en savoir plus sur les détails architecturaux, veuillez lire le document de conception. Si vous recherchez des démos, des diapositives, des collatéraux, des blogs, des webinaires et d'autres documents liés à la FFDL, veuillez les trouver ici
kubectl : l'interface de ligne de commande Kubernetes (https://kubernetes.io/docs/tasks/tools/install-kubectl/)helm : le Kubernetes Package Manager (https://helm.sh)docker : l'interface de ligne de commande docker (https://www.docker.com/)S3 CLI : l'interface de ligne de commande pour configurer votre stockage d'objetIl existe plusieurs chemins d'installation pour installer FFDL dans un cluster Kubernetes existant. Vous trouverez ci-dessous les étapes de l'installation rapide. Si vous souhaitez suivre les instructions étape par étape plus détaillées, veuillez visiter le guide d'installation détaillé
helm init avant d'exécuter les commandes suivantes. Pour installer FFDL sur n'importe quel cluster Kubernetes approprié, assurez-vous que kubectl pointe vers le bon espace de noms, puis déployez les services de plate-forme:
export NAMESPACE=default # If your namespace does not exist yet, please create the namespace `kubectl create namespace $NAMESPACE` before running the make commands below
export SHARED_VOLUME_STORAGE_CLASS= " ibmc-file-gold " # Change the storage class to what's available on your Cloud Kubernetes Cluster.
helm install ibmcloud-object-storage-plugin --name ibmcloud-object-storage-plugin --repo https://ibm.github.io/FfDL/helm-charts --set namespace= $NAMESPACE # Configure s3 driver on the cluster
helm install ffdl-helper --name ffdl-helper --repo https://ibm.github.io/FfDL/helm-charts --set namespace= $NAMESPACE ,shared_volume_storage_class= $SHARED_VOLUME_STORAGE_CLASS --wait # Deploy all the helper micro-services for ffdl
helm install ffdl-core --name ffdl-core --repo https://ibm.github.io/FfDL/helm-charts --set namespace= $NAMESPACE ,lcm.shared_volume_storage_class= $SHARED_VOLUME_STORAGE_CLASS --wait # Deploy all the core ffdl services.Si vous avez installé Kubeadm-Dind sur votre machine, utilisez ces commandes pour déployer la plate-forme FFDL:
export SHARED_VOLUME_STORAGE_CLASS= " "
export NAMESPACE=default
./bin/s3_driver.sh # Copy the s3 drivers to each of the DIND node
helm install ibmcloud-object-storage-plugin --name ibmcloud-object-storage-plugin --repo https://ibm.github.io/FfDL/helm-charts --set namespace= $NAMESPACE ,cloud=false
helm install ffdl-helper --name ffdl-helper --repo https://ibm.github.io/FfDL/helm-charts --set namespace= $NAMESPACE ,shared_volume_storage_class= $SHARED_VOLUME_STORAGE_CLASS ,localstorage=true --wait
helm install ffdl-core --name ffdl-core --repo https://ibm.github.io/FfDL/helm-charts --set namespace= $NAMESPACE ,lcm.shared_volume_storage_class= $SHARED_VOLUME_STORAGE_CLASS --wait
# Forward the necessary microservices from the DIND cluster to your localhost.
./bin/dind-port-forward.sh Pour soumettre un exemple de formation de formation simple inclus dans ce dépôt (voir etc/examples ):
Remarque: Pour public_ip, référez une de votre cluster publique IP qui peut accéder aux nodeports de votre cluster. Vous pouvez vérifier votre cluster publique IP avec
kubectl get nodes -o wide. Pour IBM Cloud, vous pouvez obtenir votre IP publique avecbx cs workers <cluster_name>.
export PUBLIC_IP= < Cluster Public IP > # Put down localhost if you are running with Kubeadm-DIND
make test-push-data-s3
make test-job-submit La plate-forme est livrée avec un simple tableau de bord de surveillance de Grafana. L'URL est imprimée lors de l'exécution de l' status de la cible.
Veuillez vous référer au Guide du développeur pour plus de détails.
Si vous souhaitez supprimer FFDL de votre cluster, utilisez simplement les commandes suivantes.
helm delete --purge ffdl-core ffdl-helperSi vous souhaitez supprimer le pilote de stockage de votre cluster, exécutez:
helm delete --purge ibmcloud-object-storage-plugin Pour Kubeadm-Dind, vous devez tuer vos ports transmis. Notez que la commande ci-dessous tuera tous les ports créés avec kubectl .
kill $( lsof -i | grep kubectl | awk ' {printf $2 " " } ' ) Si glide install échoue avec une erreur se plaignant de chemins inexistants (par exemple, "sans SRC, ne peut pas continuer"), assurez-vous de suivre la disposition du répertoire GO standard (voir la section Prérequis).
Pour supprimer FFDL sur votre cluster, make undeploy simplement
Lorsque vous utilisez le FFDL CLI pour former un modèle, assurez-vous que votre chemin de répertoire n'a pas de barres obliques / à la fin.
Si votre travail est coincé en étape en attente, vous pouvez essayer de redéployer le plugin avec helm install storage-plugin --set dind=true,cloud=false pour kubeadm-Dind et helm install storage-plugin pour le cluster général Kubernetes. De plus, vérifiez le fichier de manifeste de votre travail de formation pour vous assurer que vous disposez des informations d'identification de stockage d'objets correctes.
Basé sur des travaux de recherche IBM en Deep Learning.
B. Bhattacharjee et al., «IBM Deep Learning Service», dans IBM Journal of Research and Development, vol. 61, no. 4, pp. 10: 1-10: 11, juillet-sept. 1 2017. https://arxiv.org/abs/1709.05871
Scott Boag, et al. Gestion du cycle de vie multi-trame multiprawork évolutif Management des emplois de formation en profondeur, en atelier sur les systèmes ML à Nips'17, 2017. Http://learningsys.org/nips17/assets/papers/paper_29.pdf