If you are using multiprocessing, you should wrap your code into this guard:
def main():
    # your code

if __name__=='__main__':
    main()

On Linux systems new processes are created with fork, while this seems not to be possible on Windows machines. This yields to the new spawned processes to execute all module-level code, which breaks your script.
Here 76 is a good explanation what’s going on.
You can find more info regarding Windows and PyTorch here 52.