Прочитайте это на других языках: 中文.
Этот репозиторий содержит основные услуги платформы FFDL (Fabric для глубокого обучения). FFDL - это операционная система «ткань» для глубокого обучения. Это платформа для сотрудничества для:

Чтобы узнать больше об архитектурных деталях, прочитайте документ дизайна. Если вы ищете демонстрации, слайды, коллатерали, блоги, вебинары и другие материалы, связанные с FFDL, найдите их здесь
kubectl : интерфейс командной строки Kubernetes (https://kubernetes.io/docs/tasks/tools/install-kubectl/)helm : менеджер пакетов Kubernetes (https://helm.sh)docker : интерфейс командной строки Docker (https://www.docker.com/)S3 CLI : интерфейс командной строки для настройки хранилища объектаСуществует несколько путей установки для установки FFDL в существующий кластер Kubernetes. Ниже приведены шаги для быстрой установки. Если вы хотите следовать более подробным пошаговым инструкциям, пожалуйста, посетите подробное руководство по установке
helm init прежде чем запустить следующие команды. Чтобы установить 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 поместите один из ваших общедоступных IP, который может получить доступ к Nodeports вашего кластера. Вы можете проверить свой Cluster Public IP с помощью
kubectl get nodes -o wide. Для IBM Cloud вы можете получить свой публичный IP сbx 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 Платформа поставляется с простой панелью мониторинга Grafana. URL -адрес распечатан при запуске status .
Пожалуйста, обратитесь к руководству разработчика для получения более подробной информации.
Если вы хотите удалить 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
При использовании CLI FFDL для обучения модели убедитесь, что ваш путь каталога не имеет чертов / в конце.
Если ваша работа застряла на стадии ожидания, вы можете попытаться переделать плагин с помощью helm install storage-plugin --set dind=true,cloud=false для Kubeadm-Dind и helm install storage-plugin для общего кластера Kubernetes. Кроме того, дважды проверьте манифестный файл работы обучения, чтобы убедиться, что у вас есть правильные учетные данные для хранения объектов.
Основано на исследовании IBM в глубоком обучении.
B. Bhattacharjee et al., «Служба глубокого обучения IBM», в журнале исследований и разработок IBM, Vol. 61, нет. 4, с. 10: 1-10: 11, июль-сен. 1 2017. https://arxiv.org/abs/1709.05871
Scott Boag, et al. Масштабируемая многофункциональная многопользовательская управление жизненным циклом рабочих мест в области обучения в области обучения, на семинаре по системам ML по адресу Nips'17, 2017.