First off, ensure you have set your runtime accelerator to GPU. Otherwise your program would be running on the CPU, which can be excruciatingly slow.
learn.predict is meant for inference on single data points, and in your case, predicting on batches would be much faster. In fastai, you can add a test set via the DataBlocks API, and get its predictions using learn.get_preds(DatasetType.Test). Alternatively, you could turn your test set into a DataLoader object, and run learn.validate(test_dl).
P.S: I strongly suggest you move on to fastai2 as it is easier to use, well-documented, and you can get more help on the forums.