به نام خدا
گاهی اوقات نیاز داریم یک تصویر کلی از ساختار شبکه ی عصبی ای که ساخته ایم، مشاهده کنیم. به طور معمولی اگر فقط بخواهیم تعداد پارامترها و نوع لایه ها را ببینیم می توانیم با استفاده از تابع summary آن را مشاهد کنیم اما اگر بخواهیم اتصال لایه ها به شکل گرافیکی مشاهده کنیم با دستور فوق امکان پذیر نیست. در کتابخانه ی keras این کار با نوشتن دستور زیر امکان پذیر است.
from keras.utils.vis_utils import plot_model plot_model(model, to_file='model_plot.png', show_shapes=True, show_layer_names=True)
این دستور برای این که اجرا شود به دو پیش نیاز احتیاج دارد.
1- نصب نرم افزار graphviz روی سیستم
می توانید آن را از لینک زیر دانلود کنید.
https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/3.0.0/windows_10_cmake_Release_graphviz-install-3.0.0-win64.exe
2- نصب کتابخانه pydot در پایتون
!pip install pydot
این جا مثالی از یک لایه از شبکه آمده است.
from tensorflow import keras from tensorflow.keras import layers from tensorflow.keras.layers import LeakyReLU input_image = layers.Input(shape=(None, None, 3)) x = layers.Conv2D(filters=32, kernel_size=(3, 3))(input_image) x = LeakyReLU(alpha=0.1)(x) x = layers.BatchNormalization()(x) model = keras.Model(input_image, x)
بعد از ساخت آن می توانیم با استفاده از دستور summary آن را به طور خلاصه مشاهده کنیم.
حال به شکل گرافیکی آن را نمایش می دهیم:
تصویر این شبکه با نام model_plot.png در کنار کدها ذخیره می شود.
منابع:
https://keras.io/api/utils/model_plotting_utils/
https://machinelearningmastery.com/visualize-deep-learning-neural-network-model-keras/