Skip to content

Implement __reduce__ for torch.dtype#7699

Merged
apaszke merged 2 commits intopytorch:masterfrom
ailzhang:dtype_copy
May 20, 2018
Merged

Implement __reduce__ for torch.dtype#7699
apaszke merged 2 commits intopytorch:masterfrom
ailzhang:dtype_copy

Conversation

@ailzhang
Copy link
Contributor

This PR addresses #7481.
torch.dtype is a singleton class without new method.
According to python doc, returning a string in reduce is the simplest way to implement the behavior. Thanks @apaszke !

If a string is returned, the string should be interpreted as the name of a global variable. It should be the object’s local name relative to its module; the pickle module searches the module namespace to determine the object’s module. This behaviour is typically useful for singletons.

cc: @fmassa @gchanan

all_dtypes = torch.testing.get_all_dtypes()
for dtype in all_dtypes:
copied_dtype = copy.deepcopy(dtype)
self.assertEqual(id(dtype), id(copied_dtype))

This comment was marked as off-topic.


static PyMethodDef THPDtype_methods[] = {
{"__reduce__", (PyCFunction)THPDtype_reduce, METH_NOARGS,
"define behavior in pickling"

This comment was marked as off-topic.

@apaszke
Copy link
Contributor

apaszke commented May 20, 2018

@pytorchbot retest this please

@apaszke apaszke merged commit 75cf0fa into pytorch:master May 20, 2018
petrex pushed a commit to petrex/pytorch that referenced this pull request May 23, 2018
…e2_core_hip

* 'caffe2_core_hip' of github.com:petrex/pytorch: (40 commits)
  [auto] Update onnx to 52f7528 - add more shape inference tests (onnx/onnx#971) onnx/onnx@52f7528
  JIT cleanup (pytorch#7631)
  fix to build sleef when using cmake 3.11.1 (pytorch#7679)
  Fix typo in document (pytorch#7725)
  [auto] Update onnx to 6f4b1b1 - Tests for Gemm operator (onnx/onnx#885) onnx/onnx@6f4b1b1
  [auto] Update onnx to c6c6aad - Enhance the 1-element broadcast case (onnx/onnx#902) onnx/onnx@c6c6aad
  serialization for torch.device (pytorch#7713)
  Fix compile flags for MSVC (pytorch#7703)
  Fix exporting Sum to onnx (pytorch#7685)
  Renanme ZFNet to ZFNet512 (pytorch#7723)
  Implement __reduce__ for torch.dtype (pytorch#7699)
  Remove unnecessary include in vec256_float.h (pytorch#7711)
  Update from facebook (pytorch#7696)
  fix for cuda 9.2 builds (pytorch#7709)
  make BatchSampler subclass of Sampler, and expose (pytorch#7707)
  Dont emit warning for ABI incompatibility when PyTorch was built from source (pytorch#7681)
  remove index from python bindings (fixes: pytorch#7639) (pytorch#7690)
  Update _torch_docs.py (pytorch#7700)
  Fix the wrong usage of environment variables detection in cmake
  Changes from D7881937 and D7963936 plus an edit (pytorch#7605)
  ...
weiyangfb pushed a commit to weiyangfb/pytorch that referenced this pull request Jun 11, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants