219
219
< div class ="pytorch-left-menu-search ">
220
220
221
221
< div class ="version ">
222
- < a href ='https://pytorch.org/docs/versions.html '> master (1.13.0a0+git99cb5fd ) ▼</ a >
222
+ < a href ='https://pytorch.org/docs/versions.html '> master (1.13.0a0+git2fb2740 ) ▼</ a >
223
223
</ div >
224
224
225
225
@@ -473,9 +473,6 @@ <h1>Source code for torch._tensor</h1><div class="highlight"><pre>
473
473
< span class ="k "> return</ span > < span class ="n "> ret</ span >
474
474
475
475
< span class ="k "> def</ span > < span class ="nf "> _rebuild_from_type_v2</ span > < span class ="p "> (</ span > < span class ="n "> func</ span > < span class ="p "> ,</ span > < span class ="n "> new_type</ span > < span class ="p "> ,</ span > < span class ="n "> args</ span > < span class ="p "> ,</ span > < span class ="n "> state</ span > < span class ="p "> ):</ span >
476
- < span class ="k "> if</ span > < span class ="n "> new_type</ span > < span class ="ow "> is</ span > < span class ="n "> Tensor</ span > < span class ="p "> :</ span >
477
- < span class ="k "> return</ span > < span class ="n "> func</ span > < span class ="p "> (</ span > < span class ="o "> *</ span > < span class ="n "> args</ span > < span class ="p "> )</ span >
478
-
479
476
< span class ="n "> ret</ span > < span class ="o "> =</ span > < span class ="n "> func</ span > < span class ="p "> (</ span > < span class ="o "> *</ span > < span class ="n "> args</ span > < span class ="p "> )</ span >
480
477
< span class ="k "> if</ span > < span class ="nb "> type</ span > < span class ="p "> (</ span > < span class ="n "> ret</ span > < span class ="p "> )</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="n "> new_type</ span > < span class ="p "> :</ span >
481
478
< span class ="n "> ret</ span > < span class ="o "> =</ span > < span class ="n "> ret</ span > < span class ="o "> .</ span > < span class ="n "> as_subclass</ span > < span class ="p "> (</ span > < span class ="n "> new_type</ span > < span class ="p "> )</ span >
@@ -485,21 +482,7 @@ <h1>Source code for torch._tensor</h1><div class="highlight"><pre>
485
482
< span class ="k "> if</ span > < span class ="nb "> getattr</ span > < span class ="p "> (</ span > < span class ="n "> ret</ span > < span class ="o "> .</ span > < span class ="vm "> __class__</ span > < span class ="p "> ,</ span > < span class ="s2 "> "__setstate__"</ span > < span class ="p "> ,</ span > < span class ="n "> Tensor</ span > < span class ="o "> .</ span > < span class ="n "> __setstate__</ span > < span class ="p "> )</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="n "> Tensor</ span > < span class ="o "> .</ span > < span class ="n "> __setstate__</ span > < span class ="p "> :</ span >
486
483
< span class ="n "> ret</ span > < span class ="o "> .</ span > < span class ="n "> __setstate__</ span > < span class ="p "> (</ span > < span class ="n "> state</ span > < span class ="p "> )</ span >
487
484
< span class ="k "> else</ span > < span class ="p "> :</ span >
488
- < span class ="k "> if</ span > < span class ="nb "> isinstance</ span > < span class ="p "> (</ span > < span class ="n "> state</ span > < span class ="p "> ,</ span > < span class ="nb "> tuple</ span > < span class ="p "> ):</ span >
489
- < span class ="k "> if</ span > < span class ="ow "> not</ span > < span class ="nb "> len</ span > < span class ="p "> (</ span > < span class ="n "> state</ span > < span class ="p "> )</ span > < span class ="o "> ==</ span > < span class ="mi "> 2</ span > < span class ="p "> :</ span >
490
- < span class ="k "> raise</ span > < span class ="ne "> RuntimeError</ span > < span class ="p "> (</ span > < span class ="sa "> f</ span > < span class ="s2 "> "Invalid serialized state: </ span > < span class ="si "> {</ span > < span class ="n "> state</ span > < span class ="si "> }</ span > < span class ="s2 "> "</ span > < span class ="p "> )</ span >
491
- < span class ="n "> dict_state</ span > < span class ="o "> =</ span > < span class ="n "> state</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ]</ span >
492
- < span class ="n "> slots_state</ span > < span class ="o "> =</ span > < span class ="n "> state</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> ]</ span >
493
- < span class ="k "> else</ span > < span class ="p "> :</ span >
494
- < span class ="n "> dict_state</ span > < span class ="o "> =</ span > < span class ="n "> state</ span >
495
- < span class ="n "> slots_state</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span >
496
-
497
- < span class ="k "> for</ span > < span class ="n "> k</ span > < span class ="p "> ,</ span > < span class ="n "> v</ span > < span class ="ow "> in</ span > < span class ="n "> dict_state</ span > < span class ="o "> .</ span > < span class ="n "> items</ span > < span class ="p "> ():</ span >
498
- < span class ="nb "> setattr</ span > < span class ="p "> (</ span > < span class ="n "> ret</ span > < span class ="p "> ,</ span > < span class ="n "> k</ span > < span class ="p "> ,</ span > < span class ="n "> v</ span > < span class ="p "> )</ span >
499
-
500
- < span class ="k "> if</ span > < span class ="n "> slots_state</ span > < span class ="p "> :</ span >
501
- < span class ="k "> for</ span > < span class ="n "> k</ span > < span class ="p "> ,</ span > < span class ="n "> v</ span > < span class ="ow "> in</ span > < span class ="n "> slots_state</ span > < span class ="o "> .</ span > < span class ="n "> items</ span > < span class ="p "> ():</ span >
502
- < span class ="nb "> setattr</ span > < span class ="p "> (</ span > < span class ="n "> ret</ span > < span class ="p "> ,</ span > < span class ="n "> k</ span > < span class ="p "> ,</ span > < span class ="n "> v</ span > < span class ="p "> )</ span >
485
+ < span class ="n "> ret</ span > < span class ="o "> =</ span > < span class ="n "> torch</ span > < span class ="o "> .</ span > < span class ="n "> _utils</ span > < span class ="o "> .</ span > < span class ="n "> _set_obj_state</ span > < span class ="p "> (</ span > < span class ="n "> ret</ span > < span class ="p "> ,</ span > < span class ="n "> state</ span > < span class ="p "> )</ span >
503
486
< span class ="k "> return</ span > < span class ="n "> ret</ span >
504
487
505
488
@@ -603,24 +586,10 @@ <h1>Source code for torch._tensor</h1><div class="highlight"><pre>
603
586
< span class ="k "> return</ span > < span class ="n "> new_tensor</ span >
604
587
605
588
< span class ="k "> def</ span > < span class ="nf "> __reduce_ex__</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="n "> proto</ span > < span class ="p "> ):</ span >
606
- < span class ="k "> if</ span > < span class ="nb "> type</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> )</ span > < span class ="ow "> is</ span > < span class ="n "> Tensor</ span > < span class ="p "> :</ span >
607
- < span class ="k "> return</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _reduce_ex_internal</ span > < span class ="p "> (</ span > < span class ="n "> proto</ span > < span class ="p "> )</ span >
608
589
< span class ="k "> if</ span > < span class ="n "> has_torch_function_unary</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ):</ span >
609
590
< span class ="k "> return</ span > < span class ="n "> handle_torch_function</ span > < span class ="p "> (</ span > < span class ="n "> Tensor</ span > < span class ="o "> .</ span > < span class ="n "> __reduce_ex__</ span > < span class ="p "> ,</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,),</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="n "> proto</ span > < span class ="p "> )</ span >
610
591
< span class ="n "> func</ span > < span class ="p "> ,</ span > < span class ="n "> args</ span > < span class ="o "> =</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _reduce_ex_internal</ span > < span class ="p "> (</ span > < span class ="n "> proto</ span > < span class ="p "> )</ span >
611
- < span class ="c1 "> # Get the state of the python subclass</ span >
612
- < span class ="c1 "> # This loosely mimicks the function on the object class but since Tensor do not inherit</ span >
613
- < span class ="c1 "> # from it, we cannot call that function directly</ span >
614
- < span class ="c1 "> # https://github.com/python/cpython/blob/c83919bd635f4433f1c6ae8504996a9fe3c215e5/Objects/typeobject.c#L4891</ span >
615
- < span class ="n "> getstate_fn</ span > < span class ="o "> =</ span > < span class ="nb "> getattr</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="s2 "> "__getstate__"</ span > < span class ="p "> ,</ span > < span class ="kc "> None</ span > < span class ="p "> )</ span >
616
- < span class ="k "> if</ span > < span class ="n "> getstate_fn</ span > < span class ="p "> :</ span >
617
- < span class ="n "> state</ span > < span class ="o "> =</ span > < span class ="n "> getstate_fn</ span > < span class ="p "> ()</ span >
618
- < span class ="k "> else</ span > < span class ="p "> :</ span >
619
- < span class ="n "> slots_to_save</ span > < span class ="o "> =</ span > < span class ="n "> copyreg</ span > < span class ="o "> .</ span > < span class ="n "> _slotnames</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="vm "> __class__</ span > < span class ="p "> )</ span > < span class ="c1 "> # type: ignore[attr-defined]</ span >
620
- < span class ="k "> if</ span > < span class ="n "> slots_to_save</ span > < span class ="p "> :</ span >
621
- < span class ="n "> state</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="vm "> __dict__</ span > < span class ="p "> ,</ span > < span class ="p "> {</ span > < span class ="n "> name</ span > < span class ="p "> :</ span > < span class ="nb "> getattr</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="n "> name</ span > < span class ="p "> )</ span > < span class ="k "> for</ span > < span class ="n "> name</ span > < span class ="ow "> in</ span > < span class ="n "> slots_to_save</ span > < span class ="k "> if</ span > < span class ="nb "> hasattr</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="n "> name</ span > < span class ="p "> )})</ span >
622
- < span class ="k "> else</ span > < span class ="p "> :</ span >
623
- < span class ="n "> state</ span > < span class ="o "> =</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="vm "> __dict__</ span >
592
+ < span class ="n "> state</ span > < span class ="o "> =</ span > < span class ="n "> torch</ span > < span class ="o "> .</ span > < span class ="n "> _utils</ span > < span class ="o "> .</ span > < span class ="n "> _get_obj_state</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> )</ span >
624
593
< span class ="k "> return</ span > < span class ="p "> (</ span > < span class ="n "> _rebuild_from_type_v2</ span > < span class ="p "> ,</ span > < span class ="p "> (</ span > < span class ="n "> func</ span > < span class ="p "> ,</ span > < span class ="nb "> type</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ),</ span > < span class ="n "> args</ span > < span class ="p "> ,</ span > < span class ="n "> state</ span > < span class ="p "> ))</ span >
625
594
626
595
< div class ="viewcode-block " id ="Tensor.storage "> < a class ="viewcode-back " href ="../../generated/torch.Tensor.storage.html#torch.Tensor.storage "> [docs]</ a > < span class ="k "> def</ span > < span class ="nf "> storage</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ):</ span >
0 commit comments