اقرأ هذا بلغات أخرى: 中文.
يحتوي هذا المستودع على الخدمات الأساسية لمنصة FFDL (النسيج للتعلم العميق). FFDL هو نظام تشغيل "نسيج" للتعلم العميق. إنها منصة تعاون لـ:

لمعرفة المزيد عن التفاصيل المعمارية ، يرجى قراءة وثيقة التصميم. إذا كنت تبحث عن عروض تجريبية ، شرائح ، ضمانات ، مدونات ، ندوات عبر الإنترنت وغيرها من المواد المتعلقة بـ FFDL ، يرجى العثور عليها هنا
kubectl : واجهة سطر أوامر Kubernetes (https://kubernetes.io/docs/tasks/tools/install-kubectl/)helm : The Kubernetes Package Manager (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 الخاصة بمجموعة المجموعة. يمكنك التحقق من عنوان 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 MATER.
يرجى الرجوع إلى دليل المطور لمزيد من التفاصيل.
إذا كنت ترغب في إزالة 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 kubeadm-dind و helm install storage-plugin لمجموعة kubernetes العامة. أيضًا ، تحقق مزدوجًا من ملف بيان الوظيفة التدريبي للتأكد من أن لديك بيانات اعتماد تخزين الكائن الصحيحة.
بناءً على عمل أبحاث IBM في التعلم العميق.
B. Bhattacharjee et al. 61 ، لا. 4 ، ص. 10: 1-10: 11 ، يوليو-سبتمبر. 1 2017. https://arxiv.org/abs/1709.05871
سكوت بواج ، وآخرون. إدارة دورة حياة متعددة المستأجرين متعددة القابلة للتطوير من وظائف التدريب على التعلم العميق ، في ورشة عمل على أنظمة ML في NIPS'17 ، 2017. http://learningsys.org/nips17/assets