Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GitAuto: pytorch実行時にエラー(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.) #173

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

gitauto-ai[bot]
Copy link
Contributor

@gitauto-ai gitauto-ai bot commented Nov 18, 2024

Resolves #68

Why the bug occurs

The application attempts to deserialize a PyTorch model on a CUDA device when CUDA is not available. This results in a RuntimeError because the model was trained on a GPU, but the current environment does not have CUDA support enabled.

How to reproduce

  1. Run the application on a CPU-only machine.
  2. The application tries to load a PyTorch model using torch.load without specifying the map_location.
  3. A RuntimeError is raised:
    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 to fix

Update the torch.load call in game_manager/machine_learning/block_controller_train_sample.py to include the map_location parameter. This ensures that the model is loaded onto the CPU when CUDA is not available.

Changes to be made:

  • Locate the line where the model is loaded:
    self.model = torch.load(predict_weight)
  • Modify it to:
    self.model = torch.load(predict_weight, map_location=torch.device('cpu'))

This change ensures compatibility across environments with or without CUDA support.

Test these changes locally

git checkout -b gitauto/issue-68-caa2b879-c1b8-4048-a32d-c88f276000ee
git pull origin gitauto/issue-68-caa2b879-c1b8-4048-a32d-c88f276000ee

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
0 participants