使用 visual keras 绘制模型时出错

Error when using visual keras for plotting model

我正在尝试使用 visual keras 可视化我的深度学习模型,但我收到一个错误,我不确定我是否理解。这是我第一次使用 visual keras,我不知道该怎么做。举个例子

!pip install visual keras 

import visualkeras
import tensorflow as tf 

tf.keras.utils.plot_model(model, show_shapes=True)
input = tf.keras.Input(shape=(100,), dtype='int32', name='input')
x = tf.keras.layers.Embedding(output_dim=512, input_dim=10000, input_length=100)(input)
x = tf.keras.layers.LSTM(32)(x)
x = tf.keras.layers.Dense(64, activation='relu')(x)
x = tf.keras.layers.Dense(64, activation='relu')(x)
x = tf.keras.layers.Dense(64, activation='relu')(x)
output = tf.keras.layers.Dense(1, activation='sigmoid', name='output')(x)
model = tf.keras.Model(inputs=[input], outputs=[output])
visualkeras.layered_view(model, legend=True, draw_volume=False)

错误看起来像这样 TypeError: 'int' object is not iterable。任何帮助将不胜感激。

如您所见,这是一个错误 here。作者建议安装更新版本的库:

!pip install git+https://github.com/paulgavrikov/visualkeras --upgrade

如果由于某种原因无法更新版本。转到库的源代码(它的安装位置)并导航到 visualkeras/layered.py。在此文件的第 100 行中,将 z = min(max(z), max_z) 更改为 z = min(max([z]), max_z)。保存更改,它将起作用。一个例子:

!pip install git+https://github.com/paulgavrikov/visualkeras --upgrade
import visualkeras
import tensorflow as tf 

input = tf.keras.Input(shape=(100,), dtype='int32', name='input')
x = tf.keras.layers.Embedding(output_dim=512, input_dim=10000, input_length=100)(input)
x = tf.keras.layers.LSTM(32)(x)
x = tf.keras.layers.Dense(64, activation='relu')(x)
x = tf.keras.layers.Dense(64, activation='relu')(x)
x = tf.keras.layers.Dense(64, activation='relu')(x)
output = tf.keras.layers.Dense(1, activation='sigmoid', name='output')(x)
model = tf.keras.Model(inputs=[input], outputs=[output])
visualkeras.layered_view(model, legend=True, draw_volume=False)