Hello,
First, there is an important thing you have to consider; you only can use inplace=True
when you are sure your model won’t cause any error. For example, if you trying to train a CNN, in the time of backpropagation, autograd
needs all the values, but inplace=True
operation can cause a change so your backprop is no longer valid. Actually, this kind of error has been handled by PyTorch, so you’ll be noticed about it.
Second, if you do not have any error, it is better to use inplace=True
operation because it won’t allocate new memory for the output of your layer. So it can prevent from Out of memory
error.
Finally, as far as I know developers usually use inplace=True
unless they do not get any error.
bests