Python TypeError:\uuuu init\uuuuu()缺少2个必需的位置参数

Python TypeError:\uuuu init\uuuuu()缺少2个必需的位置参数,python,tensorflow,keras,Python,Tensorflow,Keras,我有格式为的Keras模型.h5。我想用以下代码阅读: #model.h5 is name of mode, tf and modellib is read custom_objects={'tf': tf,'BatchNorm':modellib.BatchNorm,'ProposalLayer': modellib.ProposalLayer} model=tf.keras.models.load_model("model.h5") 但我发现了一个错误

我有格式为的Keras模型.h5。我想用以下代码阅读:

#model.h5 is name of mode, tf and modellib is read

custom_objects={'tf': tf,'BatchNorm':modellib.BatchNorm,'ProposalLayer':
                modellib.ProposalLayer} 
model=tf.keras.models.load_model("model.h5")

但我发现了一个错误

TypeError:init()缺少2个必需的位置参数:“建议计数”和“nms阈值”


我有最新版本的TensorFlow(2.2)。更改TensorFlow的版本没有帮助。

基于错误和我认为您正试图保存的自定义对象,我在同一期中运行了。 问题是没有正确定义自定义层ProposalLayer

默认情况下,应初始化自定义层init的参数,否则可能会报告错误:

TypeError: init() missing 2 required positional arguments: 'proposal_count' and 'nms_threshold'
我用这种方式解决了这个问题:

from mrcnn import config as config_std
首先,我以这种方式加载标准配置:

from mrcnn import config as config_std
然后我修改了自定义层“ProposalLayer”的init


我只是将框架的构建函数中传递的标准配置直接作为keras需要的默认参数。

似乎您使用的自定义层没有正确实现,很可能缺少get\u config()方法。