Lesen Sie dies in anderen Sprachen: 中文.
Dieses Repository enthält die Kerndienste der FFDL -Plattform (Fabric for Deep Learning). FFDL ist ein Betriebssystem "Stoff" für Deep Learning. Es ist eine Kollaborationsplattform für:

Um mehr über die architektonischen Details zu erfahren, lesen Sie bitte das Entwurfsdokument. Wenn Sie nach Demos, Folien, Sicherheiten, Blogs, Webinaren und anderen Materialien im Zusammenhang mit FFDL suchen, finden Sie sie hier hier
kubectl : Die Kubernetes-Befehlszeilenschnittstelle (https://klubernetes.io/docs/tasks/tools/install-kubectl/))helm : Der Kubernetes -Paketmanager (https://helm.sh)docker : Die Docker Command-Line Interface (https://www.docker.com/)S3 CLI : Die Befehlszeilenschnittstelle zum Konfigurieren Ihres ObjektspeichersEs gibt mehrere Installationspfade für die Installation von FFDL in einem vorhandenen Kubernetes -Cluster. Im Folgenden finden Sie die Schritte für die schnelle Installation. Wenn Sie Schritt für Schritt detailliertere Anweisungen befolgen möchten, besuchen Sie bitte den detaillierten Installationshandbuch
helm init initialisieren, bevor Sie die folgenden Befehle ausführen. Um FFDL an einem geeigneten Kubernetes -Cluster zu installieren, verweisen Sie, dass kubectl auf den richtigen Namespace verweist und die Plattformdienste bereitstellen:
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.Wenn Sie Kubeadm-Dind auf Ihrem Computer installiert haben, verwenden Sie diese Befehle, um die FFDL-Plattform bereitzustellen:
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 Um einen einfachen Beispiel für Schulungsjob zu senden, der in diesem Repo enthalten ist (siehe etc/examples -Ordner):
HINWEIS: Legen Sie für Public_IP eine Ihrer Cluster -öffentlichen IP -IP -IPen hin, die auf die Nodeports Ihres Clusters zugreifen kann. Sie können Ihr Cluster Public IP mit
kubectl get nodes -o wideüberprüfen. Für IBM Cloud können Sie Ihre öffentliche IP mitbx cs workers <cluster_name>erhalten.
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 Die Plattform wird mit einem einfachen Grafana -Überwachungs -Dashboard geliefert. Die URL wird ausgedruckt, wenn der status ausgeführt wird, das das Ziel macht.
Weitere Informationen finden Sie im Entwicklerhandbuch.
Wenn Sie FFDL aus Ihrem Cluster entfernen möchten, verwenden Sie einfach die folgenden Befehle.
helm delete --purge ffdl-core ffdl-helperWenn Sie den Speichertreiber aus Ihrem Cluster entfernen möchten, laufen Sie aus:
helm delete --purge ibmcloud-object-storage-plugin Für Kubeadm-Dind müssen Sie Ihre weitergeleiteten Ports töten. Beachten Sie, dass der folgende Befehl alle mit kubectl erstellten Ports abtötet.
kill $( lsof -i | grep kubectl | awk ' {printf $2 " " } ' ) Wenn glide install mit einem Fehler, der sich über nicht existierende Pfade beschwert, fehlschlägt (z. B. "ohne SRC, kann nicht fortgesetzt werden"), befolgen Sie das Standard-GO-Verzeichnislayout (siehe Abschnitt Voraussetzungen).
Um FFDL in Ihrem Cluster zu entfernen, machen Sie einfach ein und make undeploy
Stellen Sie bei der Verwendung der FFDL -CLI zum Training eines Modells sicher, dass Ihr Verzeichnisweg am Ende keine / enthält.
Wenn Ihr Job in anhängiger Stufe steckt, können Sie versuchen, das Plugin mit helm install storage-plugin --set dind=true,cloud=false für Kubeadm-Dind und helm install storage-plugin für General Kubernetes Cluster. Überprüfen Sie außerdem Ihre Trainingsaufgabe -Manifestdatei, um sicherzustellen, dass Sie über die richtigen Anmeldeinformationen für Objektspeicher verfügen.
Basierend auf IBM -Forschungsarbeiten im Deep Learning.
B. Bhattacharjee et al., "IBM Deep Learning Service", im IBM Journal of Research and Development, Vol. 61, Nr. 4, S. 10: 1-10: 11, Juli-Sept. 1 2017. https://arxiv.org/abs/1709.05871
Scott Boag, et al. Skalierbares Multi-Framework-Multi-Mieter-Lebenszyklusmanagement von Deep Learning Training Jobs im Workshop über ML-Systeme unter NIPS'17, 2017.