I’ve really no clue, but do notice here
that the if __name__ == "__main__"
line
is followed by a single line, calling a function that would wrap your lines following if __name__ == "__main__"
p.s. I like your comprehensive presentation of the issue. Hope someone can help further.
p.p.s. Try using WSL instead. Some of the Live Coding Sessions describe how to set up a Jupyter server on WSL. This is how I use FastAI locally (on a laptop so CPU only).