Different layer numbers and sizes for multiple networks


I am trying to construct multiple networks for my model, just like the one in the 2D seismic wave propagation example where two separate nets were constructed for the wave u and wave speed c.

I would like them to have different network structures, for example, different layer numbers and sizes, but I am having trouble finding how to configure these for each network separately.

Chapter 12 of the user guide says that it is possible to tune these properties by defining update_defaults method in the Solver class but it seems that this applies to all of the networks defined in the class.

I looked into the source code, and found that Solver.arch has the nr_layers and layer_size attributes. So would following (in the initialization method of the Solver class) work?

self.nr_layers = nr_layers1
self.layer_size = layer_size1
net1 = self.arch.make_node(...)
self.nr_layers = nr_layers2
self.layer_size = layer_size2
net2 = self.arch.make_node(...)

Or is there any other ‘proper’ way to do this?

Thanks in advance!