Oh, @ptrblck thank you very much, your help was greatly appreciated!
It resolved by updating Python3.5->Python3.7.https://bugs.python.org/issue33329 52
Another question, though it does not relate to this topic:
If I have two cards ( card0 and card1 ) and train my network just on card1, when I set pin_memory=True in DataLoader it will occupy a portion of card0’s memory ( it seems to be the default  ), is there any way to assign memory consumption to card1?
Thanks a lot.
PS: In another machine it works fine with Python3.5, it is so strange and I dont know what makes the mistake.