Tesla K20cにアクセスできます。CIFAR10データセットでResNet50を実行しています。その後、次のエラーが表示されます。
_THCudaCheck FAIL file=/opt/conda/conda-bld/pytorch_1524584710464/work/aten/src/THC/generated/../generic/THCTensorMathPointwise.cu line=265 error=59 : device-side assert triggered
_Traceback (most recent call last):
_File "main.py", line 109, in <module>
_train(loader_train, model, criterion, optimizer)
_File "main.py", line 54, in train
_ optimizer.step()
_File "/usr/local/anaconda35/lib/python3.6/site-packages/torch/optim/sgd.py", line 93, in step
_d_p.add_(weight_decay, p.data)
RuntimeError: cuda runtime error (59) : device-side assert triggered at /opt/conda/conda-bld/pytorch_1524584710464/work/aten/src/THC/generated/../generic/THCTensorMathPointwise.cu:265
このエラーの解決方法
一般に、cuda runtine error
sが発生した場合、CUDA_LAUNCH_BLOCKING=1
フラグを使用してプログラムを再度実行し、正確なスタックトレースを取得することをお勧めします。
特定のケースでは、指定したクラス数に対してデータのターゲットが高すぎる(または低すぎる)場合があります。
この問題に何度か遭遇しました。そして、私はそれがインデックスの問題であることがわかりました。たとえば、グラウンドトゥルースラベルが1:で始まる場合、target = [1,2,3,4,5]の場合、ラベルごとに1を減算し、[0,1,2,3,4]に変更する必要があります。 。これは毎回私の問題を解決します。