2017-11-16 5 views
2

torch.cuda.FloatTensorを使ってテンソルの要素が境界外にあるかどうかを確認することは可能ですか?PyTorch,GPUアプローチですか?テンソルの要素が境界から外れているかどうかを確認することは可能ですか?

例(check limits):

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一部を行うことが可能です:私は以下を試してみましたが、スピードアップしませんでした

for i in range(pop): 
    if (x[i]>xmax): 
     x[i]=xmax 
    elif (x[i]<xmin): 
     x[i]=xmin 

?どうやって?

+0

期待しているスピードと現在のスピードを教えてください。あなたが簡単なことをしているのなら、あなたはCPUでそれらを行うことができます。なぜあなたはGPUを使用しようとしていますか? –

+0

私の主な目標は、単純な目的関数を解くためにPSOを使用することではありません。膨大な量のデータ(大きな行列などがたくさんある)を使用して複雑な問題を解くために使用します。しかし、まず、理解できるように、私は基本を学ぶ必要があります。 – Dirac

+0

次に、小さな入力でテストするときに、スピードについて悩む必要はありません。大規模な実験を行う際には、最終的にGPUを使用する利点が見えます。 –

答えて

1

テンソルxのCPUコピーを取得し、操作してテンソルを再度GPUメモリにプッシュすることができます。

+0

ありがとう@ワッシ! – Dirac

関連する問題