Ah. No - that’s not the accumulation of 5, it’s the average over five. With the addition of the synchronise() step, it now corresponds to:
( t0 + t1 + t2 + t3 + t4 + synchronise() ) / 5.
where t0 etc is the time it takes to do the first iteration of net() etc.
If I instead do:
with torch.no_grad():

    for i in range(48):
        tic = time.process_time()
        net(ran.float())
        toc = time.process_time()
        print('Iter. %2d : time: %.3f' % (i, (toc - tic)) )

I get:
Iter.  0 : time: 0.019
Iter.  1 : time: 0.002
Iter.  2 : time: 0.002
Iter.  3 : time: 0.002
.....
Iter. 21 : time: 0.002
Iter. 22 : time: 0.002
Iter. 23 : time: 0.094
Iter. 24 : time: 1.777
Iter. 25 : time: 1.743
Iter. 26 : time: 1.781
.....
Iter. 44 : time: 1.750
Iter. 45 : time: 1.775
Iter. 46 : time: 1.779
Iter. 47 : time: 1.774

where the ..... correspond to lines showing virtually the same times (I’ve removed the synchronised() to give a truer indication of the time per inference).
With those times, the total compute time for 100 images will be:
0.002 x 24 + 1.77 x 76 = 135s