使用Visual keras绘制模型时出错

Oli*_*Yew 5 python visualization keras tensorflow

我正在尝试使用视觉 keras 可视化我的深度学习模型,但我收到一个我不确定我理解的错误。这是我第一次使用视觉 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)
Run Code Online (Sandbox Code Playgroud)

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

Alo*_*her 5

这是一个错误,您可以在此处阅读。作者建议安装更新版本的库:

!pip install git+https://github.com/paulgavrikov/visualkeras --upgrade
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因您无法更新版本。转到库的源代码(安装它的位置)并导航到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)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述