Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将BatchNormalization权重从keras转换为tf.keras_Python_Tensorflow_Keras_Tensorflow2.0_Batch Normalization - Fatal编程技术网

Python 如何将BatchNormalization权重从keras转换为tf.keras

Python 如何将BatchNormalization权重从keras转换为tf.keras,python,tensorflow,keras,tensorflow2.0,batch-normalization,Python,Tensorflow,Keras,Tensorflow2.0,Batch Normalization,我已使用BatchNormalization权重保存了keras权重。现在我正在尝试从keras迁移到tf.keras(tf版本2.5.0),并将权重加载到模型中。我得到了一个层错误: ValueError: Layer #2 (named "batch_normalization_1"), weight <tf.Variable 'batch_normalization_1/gamma:0' shape=(64,) dtype=float32> has shap

我已使用BatchNormalization权重保存了keras权重。现在我正在尝试从keras迁移到tf.keras(tf版本2.5.0),并将权重加载到模型中。我得到了一个层错误:

ValueError: Layer #2 (named "batch_normalization_1"), weight <tf.Variable 'batch_normalization_1/gamma:0' shape=(64,) dtype=float32> has shape (64,), but the saved weight has shape (1,). 
ValueError:Layer#2(名为“batch_normalization_1”),权重具有形状(64,),但保存的权重具有形状(1,)。
正如我得到的,这意味着旧的keras格式支持gamma的1个值,而新格式支持多个值。
如何解决此问题?

保存的权重具有形状
(1,)
,而我们需要具有形状
(64,1)
的权重。最好的替代方法是使用
tf.repeat()
(1,)
成形数组重复64次。看。