TensorWatch هي أداة تصحيح وتصور مصممة لعلوم البيانات والتعلم العميق والتعلم التعزيز من Microsoft Research. إنه يعمل في دفتر Jupyter Notebook لإظهار تصورات في الوقت الفعلي لتدريب التعلم الآلي الخاص بك وأداء العديد من مهام التحليل الرئيسية الأخرى لنماذجك وبياناتك.
تم تصميم TensorWatch لتكون مرنة وقابلة للتمديد حتى تتمكن أيضًا من بناء تصوراتك المخصصة و UIS ولوحات المعلومات. إلى جانب نهج "What-what-see-de-what-you-log" ، فإنه يتمتع أيضًا بقدرة فريدة على تنفيذ استعلامات تعسفية مقابل عملية تدريب ML الحية الخاصة بك ، وإعادة دفق نتيجة للاستعلام وعرض هذا الدفق باستخدام باستخدام الدفق اختيارك لممرى (نسمي وضع التسجيل البطيء هذا).
يخضع TensorWatch للتطوير الثقيل بهدف توفير منصة للتعلم الآلي تصحيح الأخطاء في حزمة واحدة سهلة الاستخدام وقابلة للتمديد وقابلة للاختراق.

pip install tensorwatch
TensorWatch يدعم Python 3.x ويتم اختباره مع Pytorch 0.4-1.x. يجب أن تعمل معظم الميزات أيضًا مع توترات Tensorflow المتحمسين. يستخدم TensorWatch GraphViz لإنشاء مخططات الشبكة واعتمادًا على النظام الأساسي في وقت ما قد تحتاج إلى تثبيته يدويًا.
فيما يلي رمز بسيط يسجل عددًا صحيحًا ومربعه كقائد كل ثانية إلى TensorWatch:
import tensorwatch as tw
import time
# streams will be stored in test.log file
w = tw.Watcher(filename='test.log')
# create a stream for logging
s = w.create_stream(name='metric1')
# generate Jupyter Notebook to view real-time streams
w.make_notebook()
for i in range(1000):
# write x,y pair we want to log
s.write((i, i*i))
time.sleep(1)
عندما تقوم بتشغيل هذا الرمز ، ستلاحظ test.ipynb ملف Notebook jupyter. من jupyter notebook وحدد test.ipynb . اختر الخلية> قم بتشغيل All في القائمة لرؤية الرسم البياني في الوقت الفعلي حيث يتم كتابة القيم في البرنامج النصي الخاص بك.
إليك الإخراج الذي ستراه في دفتر Jupyter:

للغوص بشكل أعمق في مختلف الميزات الأخرى ، يرجى الاطلاع على البرامج التعليمية والدفاتر.
عندما تكتب إلى دفق TensorWatch ، يتم تسلسل القيم وإرسالها إلى مقبس TCP/IP وكذلك الملف الذي حددته. من Jupyter Notebook ، نقوم بتحميل القيم المسجلة مسبقًا من الملف ثم نستمع إلى مقبس TCP/IP لأي قيم مستقبلية. يستمع المصور إلى الدفق ويجعل القيم عند وصولها.
حسنًا ، هذا وصف مبسط للغاية. بنية TensorWatch هي في الواقع أكثر قوة. كل شيء تقريبًا في TensorWatch هو تيار . الملفات والمآخذ والوحدات وحتى المرئيات هي تدفقات نفسها. شيء رائع حول تدفقات TensorWatch هو أنه يمكنهم الاستماع إلى أي تدفقات أخرى. هذا يسمح لـ TensorWatch بإنشاء رسم بياني لتدفق البيانات . هذا يعني أنه يمكن للمصور الاستماع إلى العديد من التدفقات في وقت واحد ، يمكن أن يكون كل منها ملفًا أو مقبسًا أو دفقًا آخر. يمكنك تمديد هذا بشكل متكرر لإنشاء الرسوم البيانية لتدفق البيانات التعسفي. TensorWatch يتفكك تدفق من كيفية تخزينها وكيفية تصورها.
في المثال أعلاه ، يتم استخدام الرسم البياني للخط كتصور افتراضي. ومع ذلك ، يدعم TensorWatch العديد من أنواع الرسوم البيانية الأخرى بما في ذلك الرسوم البيانية ، ومخططات الفطيرة ، والمخططات المبعثرة ، والمخططات الشريطية ، والإصدارات ثلاثية الأبعاد من هذه المؤامرات. يمكنك تسجيل بياناتك ، وتحديد نوع المخطط الذي تريده والسماح لـ TensorWatch بالرعاية بالباقي.
واحدة من نقاط القوة الهامة لـ TensorWatch هي القدرة على الجمع بين وتكوين وإنشاء تصورات مخصصة دون عناء. على سبيل المثال ، يمكنك اختيار تصور عدد تعسفي من التدفقات في نفس المؤامرة. أو يمكنك تصور نفس الدفق في العديد من المؤامرات المختلفة في وقت واحد . أو يمكنك وضع مجموعة تعسفية من التصورات جنبًا إلى جنب. يمكنك حتى إنشاء أداة التصور المخصصة الخاصة بك ببساطة عن طريق إنشاء فئة Python جديدة ، وتنفيذ بعض الطرق.
قد يحتوي كل دفق TensorWatch على مقياس من اختيارك. بشكل افتراضي ، يقوم TensorWatch بحفظ جميع التدفقات في ملف واحد ، ولكن يمكنك أيضًا اختيار حفظ كل دفق في ملفات منفصلة أو لا لحفظها على الإطلاق (على سبيل المثال ، إرسال تدفقات فوق مآخذ أو إلى وحدة التحكم مباشرة ، ضرب الصفر إلى القرص! ). في وقت لاحق يمكنك فتح هذه التدفقات وتوجيهها إلى واحد أو أكثر من التصورات. يتيح لك هذا التصميم مقارنة نتائج تجاربك المختلفة بسرعة في اختيارك للتصورات بسهولة.
غالبًا ما تفضل إجراء تحليل البيانات ، وتدريب ML ، والاختبار - كل ذلك من دفتر الملاحظات داخل Jupyter بدلاً من برنامج نصي منفصل. يمكن أن تساعدك TensorWatch في القيام بتصورات متطورة في الوقت الفعلي دون جهد من الكود الذي يتم تشغيله ضمن دفتر جوبتر من نهاية إلى طرف.
تتمثل الميزة الفريدة في TensorWatch في القدرة على الاستعلام عن عملية التشغيل المباشر ، واسترداد نتيجة هذا الاستعلام كدفق وتوجيه هذا الدفق إلى التصور (التصور) المفضل لديك. لا تحتاج إلى تسجيل أي بيانات مسبقًا. نسمي هذه الطريقة الجديدة لتصحيح الأخطاء والتصور وضع تسجيل كسول .
على سبيل المثال ، كما هو موضح أدناه ، نقوم بتصور أزواج صور الإدخال والإخراج ، تم أخذ عينات منها بشكل عشوائي أثناء تدريب مرمى السيارات على مجموعة بيانات الفواكه. لم يتم تسجيل هذه الصور مسبقًا في البرنامج النصي. بدلاً من ذلك ، يرسل المستخدم الاستعلام كتعبير Python Lambda والذي ينتج عنه دفق من الصور التي يتم عرضها في دفتر Jupyter:

انظر LAZY LOASY LOGHGING TURIPART.
يقوم TensorWatch بتعزيز العديد من المكتبات الممتازة بما في ذلك HiddenLayer و Torchstat و Visual Assective للسماح بأداء أنشطة التصحيح والتحليل المعتادة في حزمة وواجهة ثابتة واحدة.
على سبيل المثال ، يمكنك عرض الرسم البياني النموذجي بأشكال Tensor مع خط واحد:

يمكنك عرض إحصائيات لطبقات مختلفة مثل التقلبات ، وعدد المعلمات ، وما إلى ذلك:

انظر دفتر الملاحظات.
يمكنك عرض مجموعة البيانات في مساحة أبعاد منخفضة باستخدام تقنيات مثل T-SNE:

انظر دفتر الملاحظات.
نود تقديم أدوات مختلفة لشرح التنبؤات للمساعدة في تصحيح نماذج. حاليًا ، نقدم العديد من المفسرين للشبكات التلافيفية ، بما في ذلك الجير. على سبيل المثال ، يبرز ما يلي المناطق التي تسبب نموذج RESNET50 لإجراء تنبؤ للفئة 240 لمجموعة بيانات ImageNet:

انظر دفتر الملاحظات.
تعليمي تسجيل بسيط
تعليمي التسجيل كسول
باستخدام TensorWatch للتدريب على التعلم العميق (MNIST)
باستخدام TensorWatch للتدريب على التعلم العميق (Food360)
استكشاف البيانات باستخدام T-SNE
مفحون التنظيم للشبكات العصبية التلافيفية
عرض الرسم البياني والإحصائيات النموذجية
تتوفر المزيد من التفاصيل الفنية في Paper TensorWatch (مؤتمر EICS 2019). يرجى الاستشهاد بهذا على النحو التالي:
@inproceedings{tensorwatch2019eics,
author = {Shital Shah and Roland Fernandez and Steven M. Drucker},
title = {A system for real-time interactive analysis of deep learning training},
booktitle = {Proceedings of the {ACM} {SIGCHI} Symposium on Engineering Interactive
Computing Systems, {EICS} 2019, Valencia, Spain, June 18-21, 2019},
pages = {16:1--16:6},
year = {2019},
crossref = {DBLP:conf/eics/2019},
url = {https://arxiv.org/abs/2001.01215},
doi = {10.1145/3319499.3328231},
timestamp = {Fri, 31 May 2019 08:40:31 +0200},
biburl = {https://dblp.org/rec/bib/conf/eics/ShahFD19},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
نود مساهماتك ، والتعليقات ، والأسئلة ، وطلبات الميزات! يرجى تقديم مشكلة github أو إرسال طلب سحب لنا. يرجى مراجعة رمز سلوك Microsoft ومعرفة المزيد.
انضم إلى مجموعة TensorWatch على Facebook للبقاء على اطلاع دائم أو طرح أي أسئلة.
تستخدم TensorWatch العديد من مكتبات المصادر المفتوحة للعديد من ميزاتها. وتشمل هذه: Hiddenlayer ، Torchstat ، المساهمة البصرية ، PYZMQ ، Depervivefield ، NBFormat. يرجى الاطلاع على قسم install_requires في setup.py للحصول على قائمة حتى التاريخ.
يتم إصدار هذا المشروع تحت رخصة معهد ماساتشوستس للتكنولوجيا. يرجى مراجعة ملف الترخيص لمزيد من التفاصيل.