What does best flops mean?

When tuning, we can see the log shows current/best FLOPS, it can be seen that the current flops is changing while the best flops is constant, why is that? And often the current flops is less than best flops. I think the best flops is the less, the better. Why the best flops is larger than current flops?

Thanks.

flops = the amount of calculation / the time consumed. Larger flops mean less time spending on the current operation.

1 Like

Hi, since we have the time consumed then calculating flops, why do we need flops? We can directly compare the running time of different configurations.

we could do time compression but the operation (amount of calculation) in a layer will matter for the execution of the operator, so it’s better to compare with FLOPS

But here flops is calculated by

It does not mean amount of calculation here.

For example:

conv2d has 23 units (amount of calculation) / time

another conv2d has 16 units (pruned data) / time

here both are conv2d elements if you take time here it will be different but its a same operator. but operations differ internals so its better to compare with FLOPS

But in tuner, flops = inp.task.flop / np.mean(res.costs), all compare are base on one tasks. It will not compare two different tasks.