本篇内容介绍了“Java中torch.tensor的乘法操作和原地inplace乘法操作举例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
x=x*2和x*=2是不同的,后者PyTorch认为是inplace原地操作.
代码实验举例:
Microsoft Windows [版本 10.0.18363.1256](c) 2019 Microsoft Corporation。保留所有权利。 C:\Users\chenxuqi>conda activate ssd4pytorch2_2_0(ssd4pytorch2_2_0) C:\Users\chenxuqi>python Python 3.7.7 (default, May 6 2020, 11:45:54) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32 Type "help", "copyright", "credits" or "license" for more information.>>> import torch>>> x = torch.tensor([2., 2., 2., 2.], requires_grad=True)>>> x = x*2>>>>>> y = torch.tensor([2., 2., 2., 2.], requires_grad=True)>>> y *= 2Traceback (most recent call last): File "<stdin>", line 1, in <module>RuntimeError: a leaf Variable that requires grad has been used in an in-place operation.>>>>>>>>> xx = torch.tensor([2., 2., 2., 2.], requires_grad=False)>>> xx = xx * 2>>>>>> yy = torch.tensor([2., 2., 2., 2.], requires_grad=False)>>> yy *= 2>>>>>>>>>
“Java中torch.tensor的乘法操作和原地inplace乘法操作举例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。