是否可以使用 PyTorch , GPU 方法上的torch.cuda.FloatTensor
来检查张量的元素是否超出边界?
示例(check limits
):
for i in range(pop):
if (x[i]>xmax):
x[i]=xmax
elif (x[i]<xmin):
x[i]=xmin
我尝试了以下内容,但没有加快速度:
idxmax = (x > xmax) # elements that are bigger that upper limit
idxmim = (x < min) # elements that are smaller that upper limit
x[idxmax] = xmax
x[idxmin] = xmin
如果没有,是否可以仅使用CPU执行此check limits
部分?怎么样?
答案 0 :(得分:0)
您可以获得张量x
的CPU副本,执行操作,然后再次将张量推送到GPU内存。
x = x.cpu() # get the CPU copy
# do your operations
x = x.cuda() # move the object back to cuda memory