# Nested Sums for the input of a model

Hey all, say you have some model F(input), how would you do a nested summation in Pytorch such that you would sum over the input such that it wold sum(sum(F(input)-target) where the first sum is summing over the inputs and second sum is summing over the difference between F(input)-target

Could you post a small example using random tensors, which shows the desired output, please?

Thank you for the response, say your model outputs x and your target values are y. So x and y will be
x=torch.rand(100,1,32,32)
y=torch.rand(100,1,32,32).
So i want to sum over input x first before I sum over the difference between the pixels between x and y. I want the output to be a scalar, i think it would be something like this
((x-y)**2).sum(dim=[1,2,3]).sum()

In your code snippet you would:

• calculate the difference between `x` and `y`: `(x-y)`
• square the difference: `()**2`
• apply the sum in `dim=[1,2,3]` so that your result should have the shape `[N]`
• sum over the batch dimension.

You would get he same result, if you just apply the sum over all dimensions directly:

``````((x-y)**2).sum()
``````

If you want to apply the sum on `x` before, I assume you would like to use broadcasting afterwards to calculate the difference?
If so, this code might work:

``````((x.sum([1, 2, 3], keepdim=True) - y)**2).sum()
``````

but please double check the result, as I’m still unsure if I understand the use case correctly.