We’re actually going to try DistributedDataParallel and see how that works for us and the caching solution you recommended. Thanks for the input.  Its good to know that 2.5 million images is reasonable.