2017-12-26 18 views
1

私はこれを行うとります毎回私はpytorchにGPUにCPUから変数を削除するにはCUDAを()を使用し、それは約5〜10 minitues

t = Variable(torch.randn(5)) 
t =t.cuda() 
print(t) 

をそれは毎回、5〜10 minituesかかります。 帯域幅をテストするためにcudaサンプルを使用しましたが、問題ありません。 次に、pdbを使って最も時間のかかるものを見つけました。 私は/anaconda3/lib/python3.6/site-packages/torch/cuda/__init__で見つける:

def _lazy_new(cls, *args, **kwargs): 
    _lazy_init() 
    # We need this method only for lazy init, so we can remove it 
    del _CudaBase.__new__ 
    return super(_CudaBase, cls).__new__(cls, *args, **kwargs) 

それは私がこれらのimformationで私の問題を解決する方法がわからないreturn で約5 minituesかかります。 私の環境は次のとおりです。Ubuntuの16.04 + CUDA 9.1

答えて

0

このようにそれをやってみてください。

torch.cuda.synchronize() 
t = Variable(torch.randn(5)) 
t =t.cuda() 
print(t) 

その後、それはは、少なくともすべての再実行時に、お使いのGPUのメモリに応じて、高速燃えるべきですする必要があります。

+0

ありがとう。私はこれをやろうとしていますが、最初は435秒かかり、2回目は440秒かかります。GPUはGTX1060 6GBです。私のGPUに問題はありますか? –

+0

これは明らかな変更ではないようです。二度目は440秒、約7分です.... –

+0

私はこれをやろうとするかもしれません。あなたの助言に感謝します。 –

0

私pytorchはCUDAでコンパイルされたCUDA間のCUDAバージョンの不一致は、私はrunning.Iは公式インストールがcommond分割だあります

condaインストールpytorch torchvision cuda90 -c pytorch

condaインストール-c soumithマグマ-cuda90

:2つのセクションに

condaはCUDA8.0をmathchsデフォルトでpytorch torchvision -c soumith

二commondインストールpytorch-0.2.0をインストールします。私がpytorchを0.3.0にアップデートした後、このコモンは1秒しかかかりません。

関連する問題