This PR makes the code PyTorch 0.4 compatible. It will no longer be compatible for 0.3 or older versions.
This makes use of the checkpointing feature of PyTorch to do the efficient computations. The checkpointing feature seems to be really smart, and manages the memory much more efficiently than the original implementation.
This also merges the efficient model implementation into the original one.
I'll merge this tomorrow once I confirm that the new version gets the same error as the old version.
This PR makes the code PyTorch 0.4 compatible. It will no longer be compatible for 0.3 or older versions.
This makes use of the checkpointing feature of PyTorch to do the efficient computations. The checkpointing feature seems to be really smart, and manages the memory much more efficiently than the original implementation.
This also merges the efficient model implementation into the original one.
I'll merge this tomorrow once I confirm that the new version gets the same error as the old version.