Sujit-O / pykg2vec

Python library for knowledge graph embedding and representation learning.
MIT License
602 stars 109 forks source link

RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. #223

Open HeatedMajin opened 1 year ago

HeatedMajin commented 1 year ago

Train on GPU and infer on CPU

We trained model on GPU device with the argument -device cuda . Then we downloaded the trained model from GPU machine to CPU machine, because we want to do inference on CPU machine.

When we load the trained model from GPU, we encountered an error as follows RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.

How could I fix this bug? Or can we have a way to train the model on the GPU and do inference on the CPU?