التعلم العميقالمزيد من مقالات التعلم العميق......مقالات التعلم العميق

25 اداة لتصميم أو رسم معمارية الشبكة العصبية والشبكة العصبية العميقة

دليل سريع لإنشاء تمثيل تخطيطي لشبكاتك العصبية العميقة

كبشر، نشعر براحة أكبر عند النظر إلى الصور لفهمها بدلاً من محاولة تصور الهياكل المعقدة عقليًا مثل الشبكات العصبية العميقة. كما أنه من الملائم أكثر أن تقدم بصريًا وتشرح معماريتك الجديدة لجمهور أوسع وهو ليس “متمرسًا” في التكنولوجيا مثلك 🙂

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

1) Net2Vis: يقوم Net2Vis تلقائيًا بإنشاء تصورات مجردة للشبكات العصبية التلافيفية من كود Keras.

2)Visualkeras :  visualkeras عبارة عن حزمة بايثون للمساعدة في رسم معماريات الشبكة العصبية Keras (إما مستقلة أو مضمنة في Tensorflow). يتيح التصميم السهل ليناسب معظم الاحتياجات. اعتبارًا من الآن، فهو يدعم إنشاء معمارية ذات طبقات، وهو أمر رائع بالنسبة لشبكات CNN (الشبكات العصبية التلافيفية Convolutional Neural Networks) وهندسة نمط Grap.

 

import visualkeras

model = ...

visualkeras.layered_view(model).show() # display using your system viewer
visualkeras.layered_view(model, to_file='output.png') # write to disk
visualkeras.layered_view(model, to_file='output.png').show() # write and show

visualkeras.layered_view(model)

3) draw_convnet: برنامج بايثون لتوضيح الشبكة العصبية التلافيفية (ConvNet):

4) NNSVG

5) PlotNeuralNet: كود Latex لرسم الشبكات العصبية للتقارير والعروض التقديمية. قم بإلقاء نظرة على الأمثلة لمعرفة كيفية صنعها. بالإضافة إلى ذلك، يتيح لك دمج أي تحسينات تجريها وإصلاح أي أخطاء لمساعدة المزيد من الأشخاص في استخدام هذا الكود.

6) Tensorboard: تعد لوحة معلومات الرسوم البيانية في TensorBoard أداة قوية لفحص نموذج TensorFlow الخاص بك.

7) Caffe : في Caffe، يمكنك استخدام caffe/draw.py لرسم NetParameter protobuffer:

8) Matlab

9) Keras.js

10) keras-sequential-ascii : مكتبة Keras لدراسة معماريات ومعلمات النماذج المتسلسلة.

معمارية VGG 16

           OPERATION           DATA DIMENSIONS   WEIGHTS(N)   WEIGHTS(%)

              Input   #####      3  224  224
         InputLayer     |   -------------------         0     0.0%
                      #####      3  224  224
      Convolution2D    \|/  -------------------      1792     0.0%
               relu   #####     64  224  224
      Convolution2D    \|/  -------------------     36928     0.0%
               relu   #####     64  224  224
       MaxPooling2D   Y max -------------------         0     0.0%
                      #####     64  112  112
      Convolution2D    \|/  -------------------     73856     0.1%
               relu   #####    128  112  112
      Convolution2D    \|/  -------------------    147584     0.1%
               relu   #####    128  112  112
       MaxPooling2D   Y max -------------------         0     0.0%
                      #####    128   56   56
      Convolution2D    \|/  -------------------    295168     0.2%
               relu   #####    256   56   56
      Convolution2D    \|/  -------------------    590080     0.4%
               relu   #####    256   56   56
      Convolution2D    \|/  -------------------    590080     0.4%
               relu   #####    256   56   56
       MaxPooling2D   Y max -------------------         0     0.0%
                      #####    256   28   28
      Convolution2D    \|/  -------------------   1180160     0.9%
               relu   #####    512   28   28
      Convolution2D    \|/  -------------------   2359808     1.7%
               relu   #####    512   28   28
      Convolution2D    \|/  -------------------   2359808     1.7%
               relu   #####    512   28   28
       MaxPooling2D   Y max -------------------         0     0.0%
                      #####    512   14   14
      Convolution2D    \|/  -------------------   2359808     1.7%
               relu   #####    512   14   14
      Convolution2D    \|/  -------------------   2359808     1.7%
               relu   #####    512   14   14
      Convolution2D    \|/  -------------------   2359808     1.7%
               relu   #####    512   14   14
       MaxPooling2D   Y max -------------------         0     0.0%
                      #####    512    7    7
            Flatten   ||||| -------------------         0     0.0%
                      #####       25088
              Dense   XXXXX ------------------- 102764544    74.3%
               relu   #####        4096
              Dense   XXXXX -------------------  16781312    12.1%
               relu   #####        4096
              Dense   XXXXX -------------------   4097000     3.0%
            softmax   #####        1000

11) Netron

12) DotNet

13) Graphviz: البرنامج التعليمي

14) Keras Visualization: توفر وحدة keras.utils.vis_utils دوال مفيدة لرسم نموذج Keras (باستخدام graphviz).

15) Conx : يمكن لحزمة conx من بايثون رسم الشبكات التي تحتوي على عمليات تنشيط باستخدام الدالة net.picture() لإنتاج صور SVG أو PNG أو PIL مثل هذا:

16) ENNUI : العمل على راسم الشبكة العصبية بالسحب والإفلات (والمزيد). فيما يلي مثال لرسم لمعمارية تشبه LeNet.

17) NNet : حزمة R – البرنامج التعليمي

data(infert, package="datasets")
plot(neuralnet(case~parity+induced+spontaneous, infert))

18) GraphCore : هذه الأساليب موجهة بشكل أكبر نحو تصور تشغيل الشبكة العصبية، ومع ذلك، فإن معمارية الشبكة العصبية تكون أيضًا مرئية إلى حد ما في المخططات الناتجة.

AlexNet

ResNet50

19) Neataptic: تقدم Neataptic شبكات عصبية مرنة؛ يمكن إزالة الخلايا العصبية والمشابك العصبية بسطر واحد من التعليمات البرمجية. ليست هناك حاجة إلى معمارية ثابتة لكي تعمل الشبكات العصبية على الإطلاق. تسمح هذه المرونة بتشكيل الشبكات لمجموعة البيانات الخاصة بك من خلال التطور العصبي، والذي يتم باستخدام خيوط متعددة.

20) TensorSpace: TensorSpace هو إطار رسم ثلاثي الأبعاد للشبكة العصبية تم إنشاؤه بواسطة TensorFlow.js وThree.js وTween.js. يوفر TensorSpace طبقات API لبناء طبقات التعلم العميق، وتحميل النماذج المدربة مسبقًا، وإنشاء تصور ثلاثي الأبعاد في المتصفح. من خلال تطبيق TensorSpace API، أصبح من السهل تصور وفهم أي نماذج تم تدريبها مسبقًا بواسطة TensorFlow وKeras وTensorFlow.js وما إلى ذلك.

البرنامج التعليمي

21) Netscope CNN Analyzer

22) Monial: التدوين التفاعلي للرسوم البيانية الحسابية (Interactive Notation for Computational Graphs) https://mlajtos.github.io/moniel/

23) Texample

24) Quiver

المصادر:

https://datascience.stackexchange.com/questions/12851/how-do-you-visualize-neural-network-architectures

https://datascience.stackexchange.com/questions/2670/visualizing-deep-neural-network-training

المصدر
Tools to Design or Visualize Architecture of Neural Network

د. علاء طعيمة

كلية علوم الحاسوب وتكنولوجيا المعلومات / جامعة القادسية / العراق

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى