2017-10-14 70 views
0

为什么下面的代码失败,如果a==b,但工作正常否则? 错误: ValueError: Shapes must be equal rank, but are 2 and 1 for 'Assign' (op: 'Assign') with input shapes: [12,12], [12].加载权重在keras中失败

#!/usr/bin/env python3 
import keras 

a = 12 
b = 12 
x = keras.layers.Input(shape=(a,)) 
y = keras.layers.Dense(b)(x) 
model = keras.models.Model(inputs=[x], outputs=y) 

model.save_weights("model.h5") 
model.load_weights("model.h5") 

我使用Python 3,TensorFlow 1.1.0作为后端和keras版本2.0.1。 操作系统是一些Linux。

+2

适用于TensorFlow 1.3.0,Keras 2.0.8 –

回答

0

升级到Tensorflow 1.3.0并未解决问题 但是,升级到Keras 2.0.8的确实解决了问题

显然,加载导致了问题,而不是保存。