I guess this questions could also go to Stackoverflow, but I think here I will get a more adequate answer.
I have two model classes:
class Model1(nn.Module):
	def __init__(self, dim1):
		super(Model1, self).__init__()
		self.dim1 = dim1

class Model2(nn.Module):
	def __init__(self, dim2):
		super(Model2, self).__init__()
		self.dim2 = dim2

And I want them to be the two parent classes of a 3rd one. I have tried this:
class Model1Model2(Model1,Model2):
	def __init__(self, dim1, dim2):
        Model1.__init__(self, dim1)
        Model2.__init__(self, dim2)

but when I instantiate the class as: model = Model1Model2(128, 128) I get the following error:
TypeError: __init__() missing 1 required positional argument: 'dim2'

I have also tried this:
class Model1Model2(Model1,Model2):
	def __init__(self, dim1, dim2):
        super(Model1, self).__init__(dim1)
        super(Model2, self).__init__(dim2)

but when I do:  model = Model1Model2(128, 128) , I get:
TypeError: __init__() takes 1 positional argument but 2 were given

Anyone knows how one could solve this?
Thanks!