نظام التشغيل | اختبار CI على master |
---|---|
Datmo هي أداة لإدارة نماذج الإنتاج مفتوحة المصدر لعلماء البيانات. استخدم datmo init
لتحويل أي مستودع إلى سجل تجربة قابل للتتبع. المزامنة باستخدام السحابة الخاصة بك.
ملحوظة : الإصدار الحالي من Datmo هو إصدار ألفا. وهذا يعني أن الأوامر قابلة للتغيير وسيتم إضافة المزيد من الميزات. إذا وجدت أي أخطاء، فلا تتردد في المساهمة عن طريق إضافة مشكلات حتى يتمكن المساهمون من معالجتها.
إعداد بيئة أمر واحد (اللغات، الأطر، الحزم، إلخ)
تتبع وتسجيل تكوين النموذج والنتائج
إصدار المشروع (تتبع حالة النموذج)
إمكانية تكرار التجربة (إعادة تشغيل المهام)
تصور + تصدير سجل التجربة
(قريبًا) لوحات المعلومات لتصور التجارب
ميزة | الأوامر |
---|---|
تهيئة المشروع | $ datmo init |
إعداد بيئة جديدة | $ datmo environment setup |
قم بإجراء تجربة | $ datmo run "python filename.py" |
إعادة إنتاج تجربة سابقة | $ datmo ls (ابحث عن المعرف المطلوب)$ datmo rerun EXPERIMENT_ID |
افتح مساحة عمل | $ datmo notebook (دفتر Jupyter)$ datmo jupyterlab (JupyterLab)$ datmo rstudio (RStudio)$ datmo terminal (المحطة الطرفية) |
سجل حالة مشروعك (الملفات، التعليمات البرمجية، البيئة، التكوين، الإحصائيات) | $ datmo snapshot create -m "My first snapshot!" |
التبديل إلى حالة المشروع السابقة | $ datmo snapshot ls (ابحث عن المعرف المطلوب)$ datmo snapshot checkout SNAPSHOT_ID |
تصور كيانات المشروع | $ datmo ls (التجارب)$ datmo snapshot ls (لقطات)$ datmo environment ls (البيئات) |
متطلبات
تثبيت
مرحبا بالعالم
أمثلة
التوثيق
تحويل المشروع الحالي
مشاركة
المساهمة في داتمو
عامل الإرساء (تم تثبيته وتشغيله قبل البدء): تعليمات لـ Ubuntu وMacOS وWindows
$ pip install datmo
يتضمن دليل helloworld الخاص بنا عرض إعدادات البيئة وتغييراتها، بالإضافة إلى إمكانية تكرار التجربة. إنه متوفر في مستنداتنا هنا.
في المجلد /examples
لدينا بعض البرامج النصية التي يمكنك تشغيلها للتعرف على datmo. يمكنك الانتقال إلى الأمثلة لمعرفة المزيد حول كيفية تشغيل الأمثلة وبدء مشروعاتك الخاصة.
لمزيد من البرامج التعليمية المتقدمة، راجع مستودع البرامج التعليمية المخصص لدينا هنا.
يعد إعداد البيئة أمرًا سهلاً للغاية في datmo. ما عليك سوى الرد بـ y
عند سؤالك عن إعداد البيئة أثناء التهيئة، أو استخدام datmo environment setup
في أي وقت. ثم اتبع المطالبات الناتجة.
يظهر أحد الأمثلة أدناه لإعداد Python 2.7 TensorFlow مع متطلبات/برامج تشغيل وحدة المعالجة المركزية.
للحصول على الدليل الكامل حول إعداد بيئتك باستخدام datmo، راجع هذه الصفحة في وثائقنا هنا.
بعد إعداد البيئة الخاصة بك، يرغب معظم علماء البيانات في فتح ما نسميه مساحة العمل (بيئة برمجة IDE أو Notebook)
يظهر أحد الأمثلة أدناه لفتح Jupyter Notebook بسرعة وإظهار استيراد TensorFlow وهو يعمل على النحو المنشود.
فيما يلي مقارنة بين نموذج الانحدار اللوجستي النموذجي ونموذج الاستفادة من Datmo.
البرنامج النصي العادي | مع داتمو |
---|---|
# Train.py#from sklearn استيراد مجموعات البياناتمن sklearn استيراد الخطي_النموذجي كـ lmمن sklearn استيراد model_selection كـ msfrom sklearn استيراد العناصر الخارجية كـ ex######iris_dataset = datasets.load_iris()X = iris_dataset.datay = iris_dataset.targetdata = ms.train_test_split (X، y)X_train، X_test، y_train, y_test = data#model = lm.LogisticRegression(solver="newton-cg")model.fit(X_train, y_train)ex.joblib.dump(model, 'model.pkl')#train_acc = model.score(X_train ، y_train)test_acc = model.score(X_test، y_test)#print(train_acc)طباعة(test_acc)######### | # Train.py#from sklearn استيراد مجموعات البياناتمن sklearn استيراد خطي_نموذج كـ lmfrom sklearn استيراد model_selection كـ msfrom sklearn استيراد العناصر الخارجية كتصدير datmo # extra line#config = {"solver": "newton-cg"} # extra line#iris_dataset = datasets. Load_iris()X = iris_dataset.datay = iris_dataset.targetdata = ms.train_test_split(X, y)X_train, X_test, y_train, y_test = data#model = lm.LogisticRegression(**config)model.fit(X_train, y_train)ex.joblib.dump(model, "model.pkl") #train_acc = model.score(X_train, y_train)test_acc = model.score(X_test, y_test)#stats = {"train_accuracy": Train_acc,"test_accuracy": test_acc} # extra line#datmo.snapshot.create(message="my first snapshot",filepaths=["model.pkl"],config=config, stats=stats) # سطر إضافي |
من أجل تشغيل الكود أعلاه يمكنك القيام بما يلي.
انتقل إلى الدليل مع المشروع
$ mkdir MY_PROJECT $ cd MY_PROJECT
تهيئة مشروع datmo
$ datmo init
انسخ كود datmo أعلاه إلى ملف train.py
في دليل MY_PROJECT
الخاص بك
قم بتشغيل البرنامج النصي كما تفعل عادةً في بيثون
$ python train.py
تهاني! لقد قمت للتو بإنشاء لقطة لك الأولى :) الآن قم بتشغيل أمر ls للقطات لرؤية اللقطة الأولى.
$ datmo snapshot ls
عند تشغيل datmo init
، يضيف Datmo دليل .datmo
المخفي الذي يتتبع جميع الكيانات المختلفة الموجودة في اللعب. يعد هذا ضروريًا لتمكين مستودع البيانات.
راجع صفحة المفاهيم الخاصة بنا في الوثائق لمعرفة كيفية عمل الأجزاء المتحركة معًا في datmo.
تتم استضافة المستندات الكاملة هنا. إذا كنت ترغب في المساهمة في المستندات (الكود المصدري الموجود هنا في /docs
)، فاتبع الإجراء الموضح في CONTRIBUTING.md
.
يمكنك تحويل مستودعك الحالي إلى مستودع ممكّن لـ datmo باستخدام الأمر التالي
$ datmo init
إذا كنت ترغب في أي وقت في إزالة datmo، فيمكنك فقط إزالة دليل .datmo
من المستودع الخاص بك أو يمكنك تشغيل الأمر التالي
$ datmo cleanup
إخلاء المسؤولية: هذا ليس خيارًا مدعومًا رسميًا حاليًا ويعمل فقط مع طبقات التخزين القائمة على الملفات (كما هو محدد في التكوين) كحل بديل لمشاركة مشاريع datmo.
على الرغم من أن datmo تم إنشاؤه لتتبع التغييرات محليًا، يمكنك مشاركة مشروع عن طريق الدفع إلى خادم بعيد عن طريق القيام بما يلي (يظهر هذا فقط لـ git، إذا كنت تستخدم أداة تتبع SCM أخرى، فمن المحتمل أن تفعل شيئًا مشابهًا). إذا كانت ملفاتك كبيرة جدًا أو لا يمكن إضافتها إلى SCM، فقد لا يناسبك هذا.
تم اختبار ما يلي على محطات BASH فقط. إذا كنت تستخدم محطة طرفية أخرى، فقد تواجه بعض الأخطاء.
$ git add -f .datmo/* # add in .datmo to your scm $ git commit -m "adding .datmo to tracking" # commit it to your scm $ git push # push to remote $ git push origin +refs/datmo/*:refs/datmo/* # push datmo refs to remote
سيسمح لك ما ورد أعلاه بمشاركة نتائج وكيانات datmo مع نفسك أو مع الآخرين على أجهزة أخرى. ملاحظة: سيتعين عليك إزالة .datmo/ من التتبع لبدء استخدام datmo على الجهاز الآخر أو موقع آخر. راجع الإرشادات أدناه لمعرفة كيفية نسخها في مكان آخر
$ git clone YOUR_REMOTE_URL $ cd YOUR_REPO $ echo '.datmo/*' > .git/info/exclude # include .datmo into your .git exclude $ git rm -r --cached .datmo # remove cached versions of .datmo from scm $ git commit -m "removed .datmo from tracking" # clean up your scm so datmo can work $ git pull origin +refs/datmo/*:refs/datmo/* # pull datmo refs from remote $ datmo init # This enables datmo in the new location. If you enter blanks, no project information will be updated
إذا كنت مهتمًا بالمشاركة باستخدام بروتوكول datmo، فيمكنك زيارة موقع Datmo الإلكتروني
س: ماذا أفعل إذا datmo stop --all
لا يعمل ولا أستطيع بدء حاوية جديدة بسبب إعادة تخصيص المنفذ؟
ج: قد يكون السبب في ذلك هو تشغيل حاوية شبح من مشروع datmo آخر أو حاوية أخرى. يمكنك إما إنشاء صورة عامل إرساء مع تخصيص منفذ محدد (بخلاف 8888)، والعثور على صورة عامل الإرساء وإيقافها وإزالتها باستخدام docker ps --all
و docker conntainer stop <ID>
و docker container rm <ID>
. أو يمكنك إيقاف جميع الصور التي تعمل على الجهاز وإزالتها [ملاحظة: قد يؤثر هذا على عمليات عامل الإرساء الأخرى على جهازك، لذا تابع بحذر] docker container stop $(docker ps -a -q)
docker container rm $(docker ps -a -q)