深度学习 的软件包 (FfDL, 读作 fiddle) 是 深度学习 平台的一项服务,提供 TensorFlow、Caffe、PyTorch 等。
深度学习 的软件包 (FfDL, 读作 fiddle) 是 深度学习 平台的一项服务,提供 TensorFlow、Caffe、PyTorch 等。
This repository will not be updated. The repository will be kept available in read-only mode.
Read this in other languages: 中文.
This repository contains the core services of the FfDL (Fabric for Deep Learning) platform. FfDL is an operating system "fabric" for Deep Learning. It is a collaboration platform for:
To know more about the architectural details, please read the design document. If you are looking for demos, slides, collaterals, blogs, webinars and other materials related to FfDL, please find them here
kubectl: The Kubernetes command line interface (https://kubernetes.io/docs/tasks/tools/install-kubectl/)helm: The Kubernetes package manager (https://helm.sh)docker: The Docker command-line interface (https://www.docker.com/)S3 CLI: The command-line interface to configure your Object StorageThere are multiple installation paths for installing FfDL into an existing Kubernetes cluster. Below are the steps for quick install. If you want to follow more detailed step by step instructions , please visit the detailed installation guide
helm init before running the following commands.To install FfDL to any proper Kubernetes cluster, make sure kubectl points to the right namespace,
then deploy the platform services:
…If you have Kubeadm-DIND installed on your machine, use these commands to deploy the FfDL platform:
…To submit a simple example training job that is included in this repo (see etc/examples folder):
Note: For PUBLIC_IP, put down one of your Cluster Public IP that can access your Cluster's NodePorts. You can check your Cluster Public IP with
kubectl get nodes -o wide. For IBM Cloud, you can get your Public IP withbx cs workers.
export PUBLIC_IP= # Put down localhost if you are running with Kubeadm-DIND
make test-push-data-s3
make test-job-submitThe platform ships with a simple Grafana monitoring dashboard. The URL is printed out when running the status make target.
Please refer to the developer guide for more details.
If you want to remove FfDL from your cluster, simply use the following commands.
helm delete --purge ffdl-core ffdl-helperIf you want to remove the storage driver from your cluster, run:
helm delete --purge ibmcloud-object-storage-pluginFor Kubeadm-DIND, you need to kill your forwarded ports. Note that the below command will kill all the ports that are created with kubectl.
kill $(lsof -i | grep kubectl | awk '{printf $2 " " }')FfDL has only been tested under Mac OS and Linux
If glide install fails with an error complaining about non-existing paths (e.g., "Without src, cannot continue"),
make sure to follow the standard Go directory layout (see Prerequisites section).
To remove FfDL on your Cluster, simply run make undeploy
When using the FfDL CLI to train a model, make sure your directory path doesn't have slashes / at the end.
If your job is stuck in pending stage, you can try to redeploy the plugin with helm install storage-plugin --set dind=true,cloud=false for Kubeadm-DIND and helm install storage-plugin for general Kubernetes Cluster. Also, double check your training job manifest file to make sure you have the correct object storage credentials.
Based on IBM Research work in Deep Learning.
B. Bhattacharjee et al., "IBM Deep Learning Service," in IBM Journal of Research and Development, vol. 61, no. 4, pp. 10:1-10:11, July-Sept. 1 2017. https://arxiv.org/abs/1709.05871
Scott Boag, et al. Scalable Multi-Framework Multi-Tenant Lifecycle Management of Deep Learning Training Jobs, In Workshop on ML Systems at NIPS'17, 2017. http://learningsys.org/nips17/assets/papers/paper_29.pdf
暂无开放 Issues,或尚未同步最近议题。