كيفية استخدام Tensorboard مع PyTorch في جوجل كولاب

لماذا انت هنا

PyTorch هو إطار التعلم العميق الأسرع نمواً. وهو يقدم العديد من الفوائد على TensorFlow الأكثر رسوخًا.

ومع ذلك ، فإن أحد المجالات التي تقصر PyTorch عن TensorFlow هو دعم النظام البيئي. يحتوي Tensorflow على نظام بيئي غني للمكتبات لا يمتلك PyTorch. على سبيل المثال ، لخدمة النماذج ، ونشر على الهاتف المحمول ، وتصور التدريب. هذا الأخير هو ما يهمني اليوم. على وجه الخصوص ، ليس لدى PyTorch أداة لتصور التدريب الأصلي مثل TensorFlow’s TensorBoard. هذا يعني أنه يمكن أن تستغرق وقتًا طويلاً في إعداد تصور تدريبي مع PyTorch أكثر من TensorFlow ، وقد تقرر عدم إعداد التصور على الإطلاق.

بارد التصور Tensorflow من: https://stackoverflow.com/a/41370610/1514728

في هذا المنشور ، سأريك طريقتين يمكنك من خلالهما تصور تدريب نموذج PyTorch عند استخدام Google Colab. الأول يستخدم أمر Jupyter TensorBoard magic الجديد ، والثاني يستخدم مكتبة tensorboardcolab. يمكنك العثور على رابط إلى مثال دفتر Colab في نهاية كل قسم.

Tensorboard كولاب السحر

الأوامر السحرية تأتي من نواة IPython وتهدف إلى حل المشكلات الشائعة في معالجة البيانات بإيجاز. مريح ، يوجد الآن أمر TensorBoard السحر (تأكد فقط من تثبيت أحدث إصدار من TensorFlow).

# تثبيت أحدث بناء Tensorflow
! pip install -q tf-nightly-2.0-preview
من ملخص الاستيراد tensorflow
٪ load_ext tensorboard.notebook

ثم استنساخ الكتاب ملخص. في هذه الحالة لدي واحد لتسجيل التدريب وآخر لاختبار التسجيل.

current_time = str (datetime.datetime.now (). الطابع الزمني ())
train_log_dir = 'logs / tensorboard / train /' + current_time
test_log_dir = 'logs / tensorboard / test /' + current_time
train_summary_writer = summary.create_file_writer (train_log_dir)
test_summary_writer = summary.create_file_writer (test_log_dir)

ويمكنك الكتابة إلى TensorBoard مثلما تفعل في رمز TensorFlow الخاص بك. انظر الأسطر 24-26 أدناه.

ثم اركض

٪ tensorboard - سجلات سجل / tensorboard

قد يستغرق TensorBoard 5 ثوان لتحميل وبدء الاستماع إلى سجلات المجلد / tensorboard. بمجرد أن ترى TensorBoard ، قم بتشغيل.

قطار (نموذج ، train_loader ، ...)

وسترى شيئًا كهذا:

Tensorboard تعمل في وقت واحد مع التدريب!

مبروك . أنت تستخدم PyTorch مع TensorBoard في Colab. لاحظ أن هذا يجب أن يعمل أيضًا في أي كمبيوتر محمول Jupyter باستخدام IPython kernel طالما قمت بتثبيت أحدث TensorFlow.

لمعرفة كيف يعمل كل شيء معًا ، راجع هذا المثال دفتر Colab.

مكتبة tensorboardcolab

الطريقة الثانية لاستخدام TensorBoard مع PyTorch في Colab هي مكتبة tensorboardcolab. تعمل هذه المكتبة بشكل مستقل عن الأمر السحري TensorBoard الموضح أعلاه.

يشبه هذا الأسلوب الأمر السحري TensorBoard ، باستثناء أنه بدلاً من تشغيل TensorBoard في دفتر colab الخاص بك ، فإنه يستخدم ngrok لنفق TensorBoard إلى المضيف المحلي. انظر هذا الرد على المكدس لمزيد من التفاصيل.

لاستخدام tensorboardcolab ، سنقوم بإنشاء مثيل TensorBoardColab ثم حفظ القيم إليه أثناء التدريب.

تثبيت نقطة tensorboardcolab
من tensorboardcolab استيراد TensorBoardColab
tb = TensorBoardColab ()

يمكن أن يبدو رمز الحفظ في TensorBoardColab أثناء التدريب مثل هذا (انظر السطر 25):

ثم عند تشغيل

قطار (نموذج ، train_loader ، ...)

سترى شيء مثل

Tensorboard يعمل على http://db797eee.ngrok.io

عندما تذهب إلى الرابط ، سترى لوحة تحكم TensorBoard التي تعرفها وتحبها.

لوحة القيادة Tensorboard باستخدام tensorboardcolab

لمعرفة كيف يعمل كل شيء معًا ، راجع هذا المثال دفتر Colab.

خاتمة

يوجد لديك ، طريقتان لتصور تدريب PyTorch الخاص بك باستخدام TensorBoard و Google Colab. لقد قدمت أمثلة على أجهزة كمبيوتر Colab المحمولة لكل طريقة من الطرق.

Magic Tensorboard: https://colab.research.google.com/drive/1NbEqqB42VSzYt-mmb4ESc8yxL05U2TIV

tensorboardcolab: https://colab.research.google.com/drive/1hR-DQvve8uEX2zH8h4y1XgP1atKRUl0g

حظا سعيدا

أقود فريق البيانات في Looka ونستخدم الكثير من PyTorch و TensorFlow. إذا كنت مهتمًا بالعمل عند تقاطع الذكاء الاصطناعي والتصميم ، فقم بإلقاء نظرة على صفحة وظائفنا.