我在 jupyter 笔记本中有以下 pytorch 代码:
import torch
t_cpu = torch.rand(500,500,500)
%timeit t_cpu @ t_cpu
哪个输出:
422 ms ± 3.93 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
下面的代码花费了大约 100 倍的时间:
import torch
t_gpu = torch.rand(500,500,500).cuda()
%timeit t_gpu @ t_gpu
输出:
31.8 ms ± 550 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
显然,gpu 版本花费更长的原因是因为它每个循环 1000 次。
鉴于我根本没有指定,为什么它每个循环 1000 次?
附言。附带问题:“%timeit t_cpu @ t_cpu”中的“@t_cpu”做了什么?