2017-05-05 53 views
5

现在,我想运行cuda使用pytorch,然后我使用model.cuda()torch.cuda.LongTensor()作为所有张量。如果我已经使用model.cuda(),我是否必须明确使用.cuda.创建张量?有没有一种方法可以让所有在GPU中运行的计算作为默认值?如何在默认情况下运行cuda中的pytorch运算

回答

3

我不认为你可以指定你想默认使用cuda tensors。 但是,你应该看看pytorch官方的例子。

在imagenet培训/测试脚本中,他们在名为DataParallel的模型上使用包装器。 此包装有两个优点:

  • 它处理了多GPU的数据并行
  • 它处理CPU张量来CUDA张量

铸造正如你在L164看,你不”不得不手动将你的输入/目标施放给cuda。

请注意,如果您有多个GPU并且想要使用单个GPU,请使用CUDA_VISIBLE_DEVICES前缀启动任何python/pytorch脚本。例如CUDA_VISIBLE_DEVICES=0 python main.py

相关问题