用其他语言阅读此内容:中文。
该存储库包含FFDL (用于深度学习)平台的核心服务。 FFDL是一种用于深度学习的操作系统。这是一个合作平台:

要了解有关建筑细节的更多信息,请阅读设计文档。如果您正在寻找与FFDL有关的演示,幻灯片,侧边,博客,网络研讨会和其他材料,请在此处找到它们
kubectl :kubernetes命令行接口(https://kubernetes.io/docs/tasks/tools/tools/install-kubectl/)helm :Kubernetes软件包经理(https://helm.sh)docker :Docker命令行接口(https://www.docker.com/)S3 CLI :配置对象存储的命令行界面有多个安装路径可将FFDL安装到现有的Kubernetes群集中。以下是快速安装的步骤。如果您想遵循更详细的逐步说明,请访问详细的安装指南
helm init初始化Tiller。要将FFDL安装到任何适当的Kubernetes群集中,请确保kubectl点指向正确的名称空间,然后部署平台服务:
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.如果您在计算机上安装了Kubeadm-Dind,请使用这些命令部署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要提交此存储库中包含的简单示例培训工作(请参阅etc/examples文件夹):
注意:对于public_ip,放下可以访问群集的nodeports的群集公共IP之一。您可以使用
kubectl get nodes -o wide。对于IBM云,您可以使用bx cs workers <cluster_name>获得公共IP。
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该平台带有简单的Grafana监视仪表板。运行status制造目标时,将打印出URL。
请参阅《开发人员指南》以获取更多详细信息。
如果要从群集中删除FFDL,只需使用以下命令即可。
helm delete --purge ffdl-core ffdl-helper如果要从群集中删除存储驱动程序,请运行:
helm delete --purge ibmcloud-object-storage-plugin对于Kubeadm-Dind,您需要杀死转发的端口。请注意,下面的命令将杀死用kubectl创建的所有端口。
kill $( lsof -i | grep kubectl | awk ' {printf $2 " " } ' ) 如果glide install失败,错误地抱怨不存在的路径(例如,“没有SRC,无法继续”),请确保遵循标准GO目录布局(请参阅先决条件部分)。
要删除群集上的FFDL,只需运行make undeploy
使用FFDL CLI训练模型时,请确保您的目录路径在最后没有斜线/ 。
如果您的工作被困在待处理阶段,您可以尝试使用helm install storage-plugin --set dind=true,cloud=false for forse for Kubeadm-dind和helm install storage-plugin for General Kubernetes群集。另外,请仔细检查您的培训清单文件,以确保您具有正确的对象存储凭据。
基于IBM深度学习研究工作。
B. Bhattacharjee等人,“ IBM深度学习服务”,《 IBM研发杂志》,第1卷。 61,不。 4,第10:1-10:11,7月至9月。 2017年1月1日。https://arxiv.org/abs/1709.05871
Scott Boag等。深度学习培训工作的可扩展多框架多租户生命周期管理,在ML系统的研讨会上,nips'17,2017。