Skip to content

Commit 2506395

Browse files
committed
Print better error message for the dreaded upfirdn2d_plugin problem
Print full traceback when custom extension build fails. Also allow pytorch 1.9 so that this runs against pytorch upstream devel builds. issues #2, #28, #35, #37, #39
1 parent 386669a commit 2506395

File tree

4 files changed

+6
-6
lines changed

4 files changed

+6
-6
lines changed

torch_utils/ops/bias_act.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
"""Custom PyTorch ops for efficient bias and activation."""
1010

1111
import os
12-
import sys
1312
import warnings
1413
import numpy as np
1514
import torch
1615
import dnnlib
16+
import traceback
1717

1818
from .. import custom_ops
1919
from .. import misc
@@ -47,7 +47,7 @@ def _init():
4747
try:
4848
_plugin = custom_ops.get_plugin('bias_act_plugin', sources=sources, extra_cuda_cflags=['--use_fast_math'])
4949
except:
50-
warnings.warn('Failed to build CUDA kernels for bias_act. Falling back to slow reference implementation. Details:\n\n' + str(sys.exc_info()[1]))
50+
warnings.warn('Failed to build CUDA kernels for bias_act. Falling back to slow reference implementation. Details:\n\n' + traceback.format_exc())
5151
return _plugin is not None
5252

5353
#----------------------------------------------------------------------------

torch_utils/ops/conv2d_gradfix.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def _should_use_custom_op(input):
5050
return False
5151
if input.device.type != 'cuda':
5252
return False
53-
if any(torch.__version__.startswith(x) for x in ['1.7.', '1.8.']):
53+
if any(torch.__version__.startswith(x) for x in ['1.7.', '1.8.', '1.9']):
5454
return True
5555
warnings.warn(f'conv2d_gradfix not supported on PyTorch {torch.__version__}. Falling back to torch.nn.functional.conv2d().')
5656
return False

torch_utils/ops/grid_sample_gradfix.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def grid_sample(input, grid):
3434
def _should_use_custom_op():
3535
if not enabled:
3636
return False
37-
if any(torch.__version__.startswith(x) for x in ['1.7.', '1.8.']):
37+
if any(torch.__version__.startswith(x) for x in ['1.7.', '1.8.', '1.9']):
3838
return True
3939
warnings.warn(f'grid_sample_gradfix not supported on PyTorch {torch.__version__}. Falling back to torch.nn.functional.grid_sample().')
4040
return False

torch_utils/ops/upfirdn2d.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
"""Custom PyTorch ops for efficient resampling of 2D images."""
1010

1111
import os
12-
import sys
1312
import warnings
1413
import numpy as np
1514
import torch
15+
import traceback
1616

1717
from .. import custom_ops
1818
from .. import misc
@@ -31,7 +31,7 @@ def _init():
3131
try:
3232
_plugin = custom_ops.get_plugin('upfirdn2d_plugin', sources=sources, extra_cuda_cflags=['--use_fast_math'])
3333
except:
34-
warnings.warn('Failed to build CUDA kernels for upfirdn2d. Falling back to slow reference implementation. Details:\n\n' + str(sys.exc_info()[1]))
34+
warnings.warn('Failed to build CUDA kernels for upfirdn2d. Falling back to slow reference implementation. Details:\n\n' + traceback.format_exc())
3535
return _plugin is not None
3636

3737
def _parse_scaling(scaling):

0 commit comments

Comments
 (0)