QAT: evaluation during training


For QAT, do we need to use .convert() at the end of each epoch to fully convert and evaluate on validation data or the model already fake quantizes the forward pass (and would produce the same results as converted model)?

Many Thanks!

It is not necessary to convert at the end of every epoch. The fake quantized model is expected to be very close to the final converted model, so one conversion at the end should suffice. We are in the process of aligning the numerics better between fake quant and converted model so if you are seeing some differences they should get better.