I’ve recently found the same issue re multi-processing under Windows from Jupyter Notebook. It seems that __name__ is always __main__, and that multiprocessing just doesn’t work in a notebook. The trick with __main__ only works with a python program, not in a notebook. However, see this article re overcoming the infinite recursion you are getting with multiprocessing from a notebook : https://medium.com/@grvsinghal/speed-up-your-python-code-using-multiprocessing-on-windows-and-jupyter-or-ipython-2714b49d6fac 11 . The solution is to locate the code / worker you are running out into a python program, which you can then import and call from your notebook with multiprocessing. This might also explain why fast.ai code has worked as inevitably you are importing one of their libraries located in external python programs, though it doesn’t address your lack of GPU usage…