pytorch concat()的结果是否存储在cpu(内存)中?

new9mtju  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(133)

该代码

c = torch.rand((2000, 64, 64)).to('cuda')
d = torch.rand((2000, 64, 64)).to('cuda')
t3 = time.time()
s1 = c+d
s2 = torch.concat((a, b), dim=2)
t4 = time.time()

s1设备是GPU,而s2的设备是CPU。
所以我看不懂,这里面的原理是什么?

kpbpu008

kpbpu0081#

如果操作所需的所有变量都在同一设备上,则焊炬将执行操作。
我假设ab在CPU上,因此torch.concat((a, b), dim=2)也是。
当您执行.to('cuda')时,您已将cd移至GPU,因此s1也位于GPU上。

相关问题