近期在试验中用到keras,想要将模型可视化,查看每一层的节点个数,需要安装几个软件:
第一个:graphviz
sudo pip3 install graphviz 即可
第二个:pydot
网上说的安装pydot的方法五花八门,有一种是 pip install pydot==1.1.0 这种方法是针对python2可以,但是python3
就不行了,因为Python3安装的1.2.*版本里面有所变动,可视化的地方需要用到visualize_util这样一个api,但是在1.2.*中,这个api被取消掉了,所以python3的用户应该安装 pydot_ng
sudo pip3 install pydot_ng.这样就可以了
from keras.layers import Input , Dense
from keras.models import Model
from keras import regularizers
from keras.utils.visualize_util import plot
encoding_dim = 32
input_img = Input(shape = (784,))
encoded = Dense(encoding_dim , activation = 'relu' )(input_img)
decoded = Dense(784 , activation = 'sigmoid')(encoded)
autoencoder = Model(input = input_img , output = decoded)
# this model maps an input to its encoded representation
encoder = Model(input=input_img, output=encoded)
# create a placeholder for an encoded (32-dimensional) input
encoded_input = Input(shape=(encoding_dim,))
# retrieve the last layer of the autoencoder model
decoder_layer = autoencoder.layers[-1]
# create the decoder model
decoder = Model(input=encoded_input, output=decoder_layer(encoded_input))
autoencoder.compile(optimizer = 'adadelta' , loss = 'binary_crossentropy')
plot(autoencoder, to_file='model1.png',show_shapes=True)
结果就是这样的.