2017-05-05 50 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

相關問題