当 Tensorflow 2.2 加载具有 NumericColumn 的 2.1 模型时抛出"KeyError: 'partitioner' "



我在Tensorflow 2.1中构建了一个使用NumericColumn的功能模型,并将其保存为h5格式。

它在2.1中加载良好,但在2.2中抛出了以下错误:

Traceback (most recent call last):
File "my_code.py", line 75, in _load_model_from_path
model = tf.keras.models.load_model(model_path)
File ".venv/lib/python3.6/site-packages/tensorflow/python/keras/saving/save.py", line 184, in load_model
return hdf5_format.load_model_from_hdf5(filepath, custom_objects, compile)
File ".venv/lib/python3.6/site-packages/tensorflow/python/keras/saving/hdf5_format.py", line 178, in load_model_from_hdf5
custom_objects=custom_objects)
File ".venv/lib/python3.6/site-packages/tensorflow/python/keras/saving/model_config.py", line 55, in model_from_config
return deserialize(config, custom_objects=custom_objects)
File ".venv/lib/python3.6/site-packages/tensorflow/python/keras/layers/serialization.py", line 109, in deserialize
printable_module_name='layer')
File ".venv/lib/python3.6/site-packages/tensorflow/python/keras/utils/generic_utils.py", line 373, in deserialize_keras_object
list(custom_objects.items())))
File ".venv/lib/python3.6/site-packages/tensorflow/python/keras/engine/network.py", line 987, in from_config
config, custom_objects)
File ".venv/lib/python3.6/site-packages/tensorflow/python/keras/engine/network.py", line 2019, in reconstruct_from_config
process_layer(layer_data)
File ".venv/lib/python3.6/site-packages/tensorflow/python/keras/engine/network.py", line 2001, in process_layer
layer = deserialize_layer(layer_data, custom_objects=custom_objects)
File ".venv/lib/python3.6/site-packages/tensorflow/python/keras/layers/serialization.py", line 109, in deserialize
printable_module_name='layer')
File ".venv/lib/python3.6/site-packages/tensorflow/python/keras/utils/generic_utils.py", line 373, in deserialize_keras_object
list(custom_objects.items())))
File ".venv/lib/python3.6/site-packages/tensorflow/python/feature_column/feature_column_v2.py", line 473, in from_config
config['partitioner'], custom_objects)
KeyError: 'partitioner'

层的config中预计会有一个未知密钥partitioner,因此这似乎是一个向后不兼容的问题。

有可能绕过它吗?

打开文件"。venv/lib/python3.6/site-packages/tensorflow/python/feature_column/feature_column_v2.py">第473行。

添加">#";在这条线上,一切都会好起来的。

最新更新