randomize batch creation. without this, almost every imagenet batch will contain only 1 label. this code is mostly untested...