Skip to content

torch.save cannot save torch.Device, or for that matter, anything that uses torch.Device #7838

@PetrochukM

Description

@PetrochukM

Cannot pickle torch.device.

Traceback

Traceback (most recent call last):
  File "play.py", line 3, in <module>
    torch.save(torch.device(1), 'pickle.pt')
  File "/Users/michaelp/.pyenv/versions/3.6.5/lib/python3.6/site-packages/torch/serialization.py", line 161, in save
    return _with_file_like(f, "wb", lambda f: _save(obj, f, pickle_module, pickle_protocol))
  File "/Users/michaelp/.pyenv/versions/3.6.5/lib/python3.6/site-packages/torch/serialization.py", line 118, in _with_file_like
    return body(f)
  File "/Users/michaelp/.pyenv/versions/3.6.5/lib/python3.6/site-packages/torch/serialization.py", line 161, in <lambda>
    return _with_file_like(f, "wb", lambda f: _save(obj, f, pickle_module, pickle_protocol))
  File "/Users/michaelp/.pyenv/versions/3.6.5/lib/python3.6/site-packages/torch/serialization.py", line 232, in _save
    pickler.dump(obj)
TypeError: can't pickle torch.Device objects

Code example

import pickle
import torch
torch.save(torch.device(1), 'save.pt')

System Info

PyTorch version: 0.4.0
Python version: 3.6.4
CUDA used to build PyTorch: 9.0.176

OS: Ubuntu 16.04.4 LTS
GCC version: (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
CMake version: version 3.5.1

Python version: 3.6
Is CUDA available: Yes
CUDA runtime version: 9.0.176
GPU models and configuration: GPU 0: GeForce GTX 1080 Ti
Nvidia driver version: 390.30
cuDNN version: Probably one of the following:
/usr/lib/x86_64-linux-gnu/libcudnn.so.6.0.21
/usr/lib/x86_64-linux-gnu/libcudnn.so.7.0.5
/usr/local/lib/python2.7/dist-packages/torch/lib/libcudnn-7a90c013.so.7.0.5
/usr/local/lib/python3.5/dist-packages/torch/lib/libcudnn-3f9a723f.so.6.0.21

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions