Heap size increases constantly when i tried to run the extract function in a new thread with the same instance of torch jit script module. I noticed that new heap allocated after the forward call. If commented out the forward call, no heap would be allocated. I am using CPU only with pytorch version 1.2.0. No extra heap allocated if running on single thread.
Am i doing something wrong?
(No experience loading models in C++ yet, so could be way off, but in case it takes a while for more knowledgeable people to reply)
Have you tried ensuring your module is in eval mode. Looks like in C++ you can do module.eval(); like in python. That behaviour would be consistent with forward creating a graph for backwards that never gets destroyed.
It might also be that putting your module in eval mode in Python before exporting will carry over to C++, but not sure of that, think I saw something to that effect though.