在Keras库和Seq2Seq模型的帮助下,我正在用python编写一个聊天机器人。我首先训练模型,然后将其保存到一个.h5文件中,并从该文件加载以使用经过训练的模型。但是,当我尝试从.h5文件加载我的模型时,我得到了错误:“ValueError:名称“input_2”在模型中使用了2次。所有层名称都应该是唯一的。”作为参考,我用于加载模型的代码是(将training_model.h5作为保存文件)
latent_dim = 256
decoder_inputs = training_model.input[1]
decoder_state_input_hidden = Input(shape=(latent_dim,))
decoder_state_input_cell = Input(shape=(latent_dim,))
decoder_states_inputs = [decoder_state_input_hidden, decoder_state_input_cell]
decoder_lstm = training_model.layers[3]
decoder_outputs, state_hidden, state_cell = decoder_lstm(decoder_inputs, initial_state=decoder_states_inputs)
decoder_states = [state_hidden, state_cell]
decoder_dense = training_model.layers[4]
decoder_outputs = decoder_dense(decoder_outputs)
decoder_model = Model([decoder_inputs] + decoder_states_inputs, [decoder_outputs] + decoder_states)
我似乎没有重复任何图层名称。有人能帮我找出问题所在吗
堆栈跟踪:
Traceback (most recent call last):
File "chatbot.py", line 169, in <module>
decoder_model = Model([decoder_inputs] + decoder_states_inputs, [decoder_outputs] + decoder_states)
File "C:\_MyPrograms\anaconda\envs\Alicia\lib\site-packages\keras\legacy\interfaces.py", line 91, in wrapper
return func(*args, **kwargs)
File "C:\_MyPrograms\anaconda\envs\Alicia\lib\site-packages\keras\engine\network.py", line 94, in __init__
self._init_graph_network(*args, **kwargs)
File "C:\_MyPrograms\anaconda\envs\Alicia\lib\site-packages\keras\engine\network.py", line 241, in _init_graph_network
self.inputs, self.outputs)
File "C:\_MyPrograms\anaconda\envs\Alicia\lib\site-packages\keras\engine\network.py", line 1523, in _map_graph_network
' times in the model. '
ValueError: The name "input_2" is used 2 times in the model. All layer names should be unique.
提前谢谢
试试这个:
相关问题 更多 >
编程相关推荐