مكتبة خفيفة الوزن للرسوم البيانية للشبكات العصبية ومقاييس التدريب لـ Pytorch و TensorFlow و Keras.
Hiddenlayer بسيط وسهل تمديده ويعمل بشكل رائع مع دفتر Jupyter. ليس المقصود استبدال الأدوات المتقدمة ، مثل Tensorboard ، ولكن للحالات التي تكون فيها الأدوات المتقدمة كبيرة جدًا بالنسبة للمهمة. كتب Hiddenlayer Waleed Abdulla و Phil Ferriere ، وهو مرخص بموجب ترخيص معهد ماساتشوستس للتكنولوجيا.
استخدم HiddenLayer لتقديم رسم بياني لشبكتك العصبية في دفتر Jupyter ، أو إلى ملف PDF أو PNG. انظر Jupyter Notebook أمثلة لـ TensorFlow و Pytorch و Keras.

تم تصميم الرسوم البيانية لتوصيل الهندسة المعمارية عالية المستوى. لذلك ، يتم إخفاء التفاصيل ذات المستوى المنخفض افتراضيًا (على سبيل المثال تهيئة الوزن OPS ، التدرجات ، OPs الداخلية لأنواع الطبقة الشائعة ، ... إلخ). يقوم Hiddenlayer أيضًا بطي متواليات شائعة الاستخدام من الطبقات معًا. على سبيل المثال ، يعد التسلسل -> Relu -> MaxPool شائعًا جدًا ، بحيث يتم دمجها في صندوق واحد للبساطة.
تخصيص الرسوم البيانية
قواعد إخفاء العقد القابلة للطي قابلة للتخصيص بالكامل. يمكنك استخدام graph expressions transforms لإضافة قواعدك الخاصة. على سبيل المثال ، تطوي هذه القاعدة جميع عقد كتلة عنق الزجاجة من Resnet101 في عقدة واحدة.
# Fold bottleneck blocks
ht.Fold("((ConvBnRelu > ConvBnRelu > ConvBn) | ConvBn) > Add > Relu",
"BottleneckBlock", "Bottleneck Block"),

إذا قمت بإجراء تجارب تدريبية في دفتر Jupyter ، فقد تجد هذا مفيدًا. يمكنك استخدامه لرسم الخسارة ودقة ، أو رسم بياني للأوزان ، أو تصور تنشيط بعض الطبقات.

كمبيوتر محمول خارج Jupyter:
يمكنك استخدام HiddenLayer خارج دفتر Jupyter أيضًا. في نص Python الذي يعمل من سطر الأوامر ، سيفتح نافذة منفصلة للمقاييس. وإذا كنت على خادم بدون واجهة المستخدم الرسومية ، فيمكنك حفظ لقطات من الرسوم البيانية إلى ملفات PNG لفحصها لاحقًا. انظر History_Canvas.py للحصول على مثال على حالة الاستخدام هذه.
Hiddenlayer هي مكتبة صغيرة. ويغطي الأساسيات ، ولكن من المحتمل أن تحتاج إلى تمديدها لحالة الاستخدام الخاصة بك. على سبيل المثال ، لنفترض أنك تريد تمثيل دقة النموذج كمخطط فطيرة بدلاً من مؤامرة. يمكن القيام بذلك عن طريق تمديد فئة Canvas وإضافة طريقة جديدة على هذا النحو:
class MyCanvas(hl.Canvas):
"""Extending Canvas to add a pie chart method."""
def draw_pie(self, metric):
# set square aspect ratio
self.ax.axis('equal')
# Get latest value of the metric
value = np.clip(metric.data[-1], 0, 1)
# Draw pie chart
self.ax.pie([value, 1-value], labels=["Accuracy", ""])
راجع pytorch_train.ipynb أو tf_train.ipynb للحصول على مثال.

يحتوي دفتر الملاحظات keras_train.ipynb على مثال تدريبي فعلي يوضح كيفية إنشاء Canvas مخصص لرسم مصفوفة ارتباك إلى جانب مقاييس التحقق من الصحة:

Pytorch:
pytorch_graph.ipynb : يوضح هذا الكمبيوتر الدفتري كيفية إنشاء الرسوم البيانية لبعض نماذج pytorch الشهيرة.pytorch_train.ipynb : يشرح تتبع وعرض مقاييس التدريب.history_canvas.py : مثال على استخدام Hiddenlayer بدون واجهة المستخدم الرسومية.Tensorflow:
tf_graph.ipynb : يوضح هذا الكمبيوتر الدفتري كيفية إنشاء الرسوم البيانية لمختلف طرز TF Slim.tf_train.ipynb : يوضح تتبع وتصور مقاييس التدريب مع TensorFlow.history_canvas.py : مثال على استخدام Hiddenlayer بدون واجهة المستخدم الرسومية.كيراس:
keras_graph.ipynb : يوضح هذا الكمبيوتر الدفتري كيفية إنشاء الرسوم البيانية لنماذج Keras المختلفة.keras_train.ipynb : يوضح الرسوم البيانية النموذجية ، وتصور مقاييس التدريب ، وكيفية إنشاء رد اتصال keras مخصص يستخدم Canvas فرعيًا من أجل رسم مصفوفة ارتباك في نهاية كل فترة تدريب.يتم إصدار HiddenLayer بموجب ترخيص MIT. لا تتردد في تمديده أو تخصيصه لاحتياجاتك. إذا اكتشفت الأخطاء ، والتي من المحتمل أن يكون هذا إصدارًا مبكرًا ، فيرجى تقديم الإبلاغ عنها أو إرسال طلب سحب.
إذا كنت ترغب في المساهمة بميزات جديدة ، فإليك بعض الأشياء التي أردنا إضافتها ولكن لم نتجول إليها أبدًا:
أ. Python3 ، Numpy ، Matplotlib ، و Jupyter Notebook.
ب. إما TensorFlow أو Pytorch
ج. GraphViz ولفث Python لإنشاء الرسوم البيانية للشبكة. أسهل طريقة لتثبيته
إذا كنت تستخدم كوندا:
conda install graphviz python-graphvizخلاف ذلك:
pip3 install graphvizاستخدم هذا إذا كنت ترغب في تحرير المكتبة أو تخصيصها محليًا.
# Clone the repository
git clone [email protected]:waleedka/hiddenlayer.git
cd hiddenlayer
# Install in dev mode
pip install -e .pip install hiddenlayersite-packages مباشرة من Githubاستخدم ما يلي إذا كنت ترغب فقط في تثبيت أحدث إصدار من المكتبة:
pip install git+https://github.com/waleedka/hiddenlayer.git