# Question about '\_rebuild\_tensor\_v2'

**URL:** <https://discuss.pytorch.org/t/question-about-rebuild-tensor-v2/14560>\
**Category:** Uncategorized\
**Created:** [March 7, 2018, 9:30pm UTC](https://discuss.pytorch.org/t/question-about-rebuild-tensor-v2/14560 "2018-03-07T21:30:50Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bowen\_Zhang](https://discuss.pytorch.org/letter_avatar_proxy/v4/letter/b/46a35a/32.png) [@Bowen\_Zhang](https://discuss.pytorch.org/u/Bowen_Zhang)\
**Post date:** [March 7, 2018, 9:30pm UTC](https://discuss.pytorch.org/t/question-about-rebuild-tensor-v2/14560/1 "2018-03-07T21:30:50Z")

</div>

Hi,

I have a model trained using the newest master branch of pytorch (0.4.0a0+18a76f5).  
Now I want to use old version of pytorch (‘0.4.0’) to load the model.

**It reports an error: ‘module’ object has no attribute ‘\_rebuild\_tensor\_v2’**

I noticed that ‘\_rebuild\_tensor\_v2’ was added recently.  
Is there any method to use ‘0.4.0’ to load a model trained by ‘0.4.0a0+18a76f5’?

bowen

---

<div class="post-metadata">

**Author:** ![lucasb-eyer](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/lucasb-eyer/32/456_2.png) [@lucasb-eyer](https://discuss.pytorch.org/u/lucasb-eyer)\
**Post date:** [March 28, 2018, 3:15pm UTC](https://discuss.pytorch.org/t/question-about-rebuild-tensor-v2/14560/2 "2018-03-28T15:15:16Z")

</div>

I have the same problem, I develop and train using latest PyTorch from source, save a model, and want to deploy it on a robot which is using the stable PyTorch 0.3.1 from the repo.

It seems that this is [intended behaviour](https://github.com/pytorch/pytorch/issues/5729#issuecomment-372828432), though. It is really annoying, actually.

---

<div class="post-metadata">

**Author:** ![lucasb-eyer](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/lucasb-eyer/32/456_2.png) [@lucasb-eyer](https://discuss.pytorch.org/u/lucasb-eyer)\
**Post date:** [March 28, 2018, 3:58pm UTC](https://discuss.pytorch.org/t/question-about-rebuild-tensor-v2/14560/3 "2018-03-28T15:58:51Z")

</div>

Thanks to Python’s incredible flexibility, we can actually monkey-patch our way to making this work. This is very ugly, but gets the job done, add it at the top of your file, after `import torch`:

```auto
# Monkey-patch because I trained with a newer version.
# This can be removed once PyTorch 0.4.x is out.
# See https://discuss.pytorch.org/t/question-about-rebuild-tensor-v2/14560
import torch._utils
try:
    torch._utils._rebuild_tensor_v2
except AttributeError:
    def _rebuild_tensor_v2(storage, storage_offset, size, stride, requires_grad, backward_hooks):
        tensor = torch._utils._rebuild_tensor(storage, storage_offset, size, stride)
        tensor.requires_grad = requires_grad
        tensor._backward_hooks = backward_hooks
        return tensor
    torch._utils._rebuild_tensor_v2 = _rebuild_tensor_v2

```

---

<div class="post-metadata">

**Author:** ![Naveen\_Benny](https://discuss.pytorch.org/letter_avatar_proxy/v4/letter/n/f08c70/32.png) [@Naveen\_Benny](https://discuss.pytorch.org/u/Naveen_Benny)\
**Post date:** [April 15, 2018, 1:52pm UTC](https://discuss.pytorch.org/t/question-about-rebuild-tensor-v2/14560/4 "2018-04-15T13:52:34Z")

</div>

Thanks man! This worked for me!

---

<div class="post-metadata">

**Author:** ![Ying\_Cui](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/ying_cui/32/4713_2.png) [@Ying\_Cui](https://discuss.pytorch.org/u/Ying_Cui)\
**Post date:** [May 11, 2018, 9:45pm UTC](https://discuss.pytorch.org/t/question-about-rebuild-tensor-v2/14560/5 "2018-05-11T21:45:51Z")

</div>

It works for me! Thanks!

---

<div class="post-metadata">

**Author:** ![Happsky](https://discuss.pytorch.org/letter_avatar_proxy/v4/letter/h/c89c15/32.png) [@Happsky](https://discuss.pytorch.org/u/Happsky)\
**Post date:** [May 29, 2018, 7:33pm UTC](https://discuss.pytorch.org/t/question-about-rebuild-tensor-v2/14560/6 "2018-05-29T19:33:27Z")

</div>

That works for me, thanks!

---

<div class="post-metadata">

**Author:** ![juunnn](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/juunnn/32/5835_2.png) [@juunnn](https://discuss.pytorch.org/u/juunnn)\
**Post date:** [July 27, 2018, 1:53am UTC](https://discuss.pytorch.org/t/question-about-rebuild-tensor-v2/14560/7 "2018-07-27T01:53:22Z")

</div>

how to use this? do you rebuild it from source? like you edit from environment or put it somewhere in the code for loading?  
Sorry for newbie question here

---

<div class="post-metadata">

**Author:** ![nvs](https://discuss.pytorch.org/letter_avatar_proxy/v4/letter/n/49beb7/32.png) [@nvs](https://discuss.pytorch.org/u/nvs)\
**Post date:** [July 30, 2018, 2:25pm UTC](https://discuss.pytorch.org/t/question-about-rebuild-tensor-v2/14560/8 "2018-07-30T14:25:31Z")

</div>

just put it before loading checkpoint

---

<div class="post-metadata">

**Author:** ![Candice\_Han](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/candice_han/32/14367_2.png) [@Candice\_Han](https://discuss.pytorch.org/u/Candice_Han)\
**Post date:** [July 24, 2019, 4:22am UTC](https://discuss.pytorch.org/t/question-about-rebuild-tensor-v2/14560/9 "2019-07-24T04:22:19Z")

</div>

Thank you so much!! These few lines saved my afternoon!

---

<div class="post-metadata">

**Author:** ![llaier](https://discuss.pytorch.org/letter_avatar_proxy/v4/letter/l/e9a140/32.png) [@llaier](https://discuss.pytorch.org/u/llaier)\
**Post date:** [December 10, 2019, 3:26pm UTC](https://discuss.pytorch.org/t/question-about-rebuild-tensor-v2/14560/10 "2019-12-10T15:26:01Z")

</div>

This worked for me! Thanks a lot!

---

<div class="post-metadata">

**Author:** ![Lin\_Qiu](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/lin_qiu/32/19941_2.png) [@Lin\_Qiu](https://discuss.pytorch.org/u/Lin_Qiu)\
**Post date:** [January 25, 2020, 8:59pm UTC](https://discuss.pytorch.org/t/question-about-rebuild-tensor-v2/14560/11 "2020-01-25T20:59:53Z")

</div>

This worked for me! Thank you very much!
