一、問題:
最近在keras下利用兩個GPU訓練Mask_Rcnn模型的時候出現以下錯誤。
error:RuntimeError: It looks like you are subclassing 'Model'
and you forgot to call 'super(YourClass, self).__init__()'
二、解決方法:
在mrcnn/parallel_model.py文件中找到class ParallelModel(KM.Model),在類里面添加super(ParallelModel, self).__init__()
class ParallelModel(KM.Model):
def __init__(self, keras_model, gpu_count):
"""
Class constructor.
keras_model: The Keras model to parallelize
gpu_count: Number of GPUs. Must be > 1
"""
super(ParallelModel, self).__init__()
self.inner_model = keras_model
self.gpu_count = gpu_count
merged_outputs = self.make_parallel()
super(ParallelModel, self).__init__(inputs=self.inner_model.inputs, outputs=merged_outputs)
