All inplace operations have a trailing underscore (e.g. tensor.add_, tensor.mul_), are using the “inplace syntax” (e.g. tensor += 1), or are directly accessing the data (e.g. tensor[0] = 1.).
While inplace ops can save memory, they could disallow fused ops if your model is scripted. Their usage might depend on your actual use case, but you could stick to the default out-of-place ops.