vpolflie:

Is there any easy way to feed a batch of weights to a functional conv


Not sure if I understand the request clearly, it would be helpful if you could share some pseudo code.
If all you need is scatter conv weights (one weight per sample) across different GPUs, looks like you can wrap that (samples + one conv layer per GPU) into a custom function? In the forward function, you can do sth like:
def forward(self, samples):
    outputs = []
    for sample in samples:
        weight = generate_per_sample_weight(sample)
        replace_conv_weight(self.conv, weight)
        outputs.append(self.conv(sample))
    return outputs