我有以下代码来构建模型。
<html>
<head>
<meta charset=utf-8 />
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, minimal-ui">
<script src="https://unpkg.com/cytoscape@3.3.0/dist/cytoscape.min.js">
</script>
<script src="https://unpkg.com/jquery@3.3.1/dist/jquery.js"></script>
<!-- cyposcape dagre -->
<script src="https://unpkg.com/dagre@0.7.4/dist/dagre.js"></script>
<script src="https://cdn.rawgit.com/cytoscape/cytoscape.js-dagre/1.5.0/cytoscape-dagre.js"></script>
</head>
<body>
<div id="cy"></div>
</body>
</html>
我成功地构建了模型,并且也可以对其进行编译,但是当我调用import keras
def foo(inputs_):
lstm1 = keras.layers.LSTM(units= 24, return_sequences=True, return_state=True,name='DecoderLSTM')
st1,st2 = keras.layers.Lambda(lambda x:lstm1.get_initial_state(x))(inputs_)
st1 = keras.layers.Lambda(lambda inp: K.expand_dims(inp, axis=1) )(st1)
d_init, _, _ = lstm1(inputs_)
d_t = keras.layers.Concatenate(axis=1)([st1, d_init])
return d_t
dec_input = keras.Input((32,1))
out = foo(dec_input)
m = keras.Model(dec_input,out)
时会出现此错误m.get_config()
。
我检查了其他答案,这些答案说不应有任何浮动张量,因此我已将所有内容包装在can't pickle _thread.RLock objects
层中。因此,没有任何答案可以解决我的问题。我注意到的另一件奇怪的事情是,当我在全局空间中运行没有功能的相同代码时,Lambda
不会出现任何错误。
其他信息:我在任何地方都使用m.get_config()
,我没有在任何地方导入import keras
,但后端是tensorflow
。 tensorflow
,keras version : 2.2.5
。如果有人可以为我重现错误,我将不胜感激。谢谢。