您是否曾经想过您的神经网络实际上是如何连接不同的神经元的?如果您可以可视化所设计的模型架构,那不是很好吗?如果您可以将模型架构下载为演示时可以使用的图像,那不是很好吗?如果所有这些都为“是”,那么您来对地方了。
在本文中,我将向你展示一个Ë xciting Python包/模块/库,可用于可视化Keras模型。无论是卷积神经网络还是人工神经网络,该库都将帮助您可视化所创建模型的结构。
Keras Visualizer是一个开源python库,在可视化模型如何逐层连接方面确实很有帮助。因此,让我们开始吧。
安装Keras可视化
我们将使用pip install像其他任何python库一样安装Keras Visualization。我们将在本文中使用Google Collab,因此您需要复制给出的命令并在google collab中运行它以安装库。
!pip install keras-visualizer
创建神经网络模型
现在,让我们使用Keras及其功能创建一个基本的人工神经网络。在此神经网络中,我将输入形状设为(784,)并进行相应的设计,您可以创建自己的网络,因为在这里我们不会学习如何制作NN,而只是可视化已创建的最终模型。
from keras import models
from keras.layers import Dense, Conv2D, MaxPooling2D, Flatten, Activation
from keras_visualizer import visualizer
from keras import layers
model1 = models.Sequential()
model1.add(Dense(16, input_shape=(784,)))
model1.add(Dense(8))
model1.add(Dense(4))
visualizer (model1)
在图中的此处,您可以清楚地看到我们的模型的结构以及具有多个神经元的不同层如何相互连接以及每一层的激活功能。
让我们可视化卷积神经网络,这将使我们更好地了解此库如何帮助我们可视化CNN。
# Building model architecture
model = models.Sequential()
model.add(Conv2D(8, (3, 3), padding="same",input_shape=(224,224,3), activation="relu"))
model.add(MaxPooling2D(pool_size=(3, 3)))
model.add(Conv2D(16, (3, 3), padding="same", activation="relu"))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(32, (3, 3), padding="same", activation="relu"))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(32, activation="relu"))
model.add(Dense(10))
model.summary()
visualizer(model, format='png', view=True)
在这里,您可以清楚地看到在不同层上执行的所有操作,其中包含过滤器数量,过滤器大小(否)。 神经元等
这是使用Keras Visualizer可视化深度学习模型的方式。 继续尝试,让我在回复部分中了解您的经验。
网友评论