赞
踩
当我生成一个可导类型的cpu张量的时候,判断其是否为叶子节点,显示为True ,如下面的代码所示:
- x = torch.randn(750,2048,requires_grad=True)
- print(x.is_leaf)
-
- #输出为:True
但是当我直接把这个生成的cpu类型迁移到gpu上时,有意思的事情发生了:
- x = torch.randn(750,2048,requires_grad=True).cuda()
- print(x.is_leaf)
-
- #输出为 False
很蒙蔽吧,那么如何让一个生成的张量迁移到gpu上,并且在gpu上也为叶子节点呢?先将数据迁移到gpu上,然后再设置gpu上面的张量的requires_grad为True ,这样就可以了:
- x = torch.randn(750,2048).cuda()
- x.requires_grad = True
- print(x.is_leaf)
-
- #输出结果为: True
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。