keras的model.save出现错误;can';t pickle“U thread.RLock objects”;
我在keras中使用以下模型:keras的model.save出现错误;can';t pickle“U thread.RLock objects”;,keras,constants,pickle,Keras,Constants,Pickle,我在keras中使用以下模型: inputs = Input(shape=( img_width, img_height))** inpFloat = Input(shape =(1,1))** in0= Lambda(lambda x: inpFloat*x)(inputs)** model =Model([inputs, inpFloat],in0)** 当我做以下预测时 xx = np.random.rand(1, 150, 1025)** y1=np.array([2.0])
inputs = Input(shape=( img_width, img_height))**
inpFloat = Input(shape =(1,1))**
in0= Lambda(lambda x: inpFloat*x)(inputs)**
model =Model([inputs, inpFloat],in0)**
当我做以下预测时
xx = np.random.rand(1, 150, 1025)**
y1=np.array([2.0])**
y1 =np.expand_dims(y1,axis=1)**
y1 = np.expand_dims(y1, axis=2)**
print(model.predict([xx,y1]))**
它起作用了。但是,在执行model.save时,会出现以下错误:
rv=减速器(4)
TypeError:无法pickle\u thread.RLock对象
我假设它与我使用Lambda函数的方式有关(如果我用一个数字替换常量,它就会起作用)
有什么想法吗?定义一个函数,不要在这里使用lambda。pickl无法处理在本地作用域中定义的对象(我怀疑它在这里被视为本地作用域。)谢谢。只是,如果我用函数替换lambda,我也应该保存它(在字典中),不是吗?