Spaces:
Running
Running
Janne Hellsten
commited on
Commit
•
2506395
1
Parent(s):
386669a
Print better error message for the dreaded upfirdn2d_plugin problem
Browse filesPrint 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
torch_utils/ops/bias_act.py
CHANGED
@@ -9,11 +9,11 @@
|
|
9 |
"""Custom PyTorch ops for efficient bias and activation."""
|
10 |
|
11 |
import os
|
12 |
-
import sys
|
13 |
import warnings
|
14 |
import numpy as np
|
15 |
import torch
|
16 |
import dnnlib
|
|
|
17 |
|
18 |
from .. import custom_ops
|
19 |
from .. import misc
|
@@ -47,7 +47,7 @@ def _init():
|
|
47 |
try:
|
48 |
_plugin = custom_ops.get_plugin('bias_act_plugin', sources=sources, extra_cuda_cflags=['--use_fast_math'])
|
49 |
except:
|
50 |
-
warnings.warn('Failed to build CUDA kernels for bias_act. Falling back to slow reference implementation. Details:\n\n' +
|
51 |
return _plugin is not None
|
52 |
|
53 |
#----------------------------------------------------------------------------
|
|
|
9 |
"""Custom PyTorch ops for efficient bias and activation."""
|
10 |
|
11 |
import os
|
|
|
12 |
import warnings
|
13 |
import numpy as np
|
14 |
import torch
|
15 |
import dnnlib
|
16 |
+
import traceback
|
17 |
|
18 |
from .. import custom_ops
|
19 |
from .. import misc
|
|
|
47 |
try:
|
48 |
_plugin = custom_ops.get_plugin('bias_act_plugin', sources=sources, extra_cuda_cflags=['--use_fast_math'])
|
49 |
except:
|
50 |
+
warnings.warn('Failed to build CUDA kernels for bias_act. Falling back to slow reference implementation. Details:\n\n' + traceback.format_exc())
|
51 |
return _plugin is not None
|
52 |
|
53 |
#----------------------------------------------------------------------------
|
torch_utils/ops/conv2d_gradfix.py
CHANGED
@@ -50,7 +50,7 @@ def _should_use_custom_op(input):
|
|
50 |
return False
|
51 |
if input.device.type != 'cuda':
|
52 |
return False
|
53 |
-
if any(torch.__version__.startswith(x) for x in ['1.7.', '1.8.']):
|
54 |
return True
|
55 |
warnings.warn(f'conv2d_gradfix not supported on PyTorch {torch.__version__}. Falling back to torch.nn.functional.conv2d().')
|
56 |
return False
|
|
|
50 |
return False
|
51 |
if input.device.type != 'cuda':
|
52 |
return False
|
53 |
+
if any(torch.__version__.startswith(x) for x in ['1.7.', '1.8.', '1.9']):
|
54 |
return True
|
55 |
warnings.warn(f'conv2d_gradfix not supported on PyTorch {torch.__version__}. Falling back to torch.nn.functional.conv2d().')
|
56 |
return False
|
torch_utils/ops/grid_sample_gradfix.py
CHANGED
@@ -34,7 +34,7 @@ def grid_sample(input, grid):
|
|
34 |
def _should_use_custom_op():
|
35 |
if not enabled:
|
36 |
return False
|
37 |
-
if any(torch.__version__.startswith(x) for x in ['1.7.', '1.8.']):
|
38 |
return True
|
39 |
warnings.warn(f'grid_sample_gradfix not supported on PyTorch {torch.__version__}. Falling back to torch.nn.functional.grid_sample().')
|
40 |
return False
|
|
|
34 |
def _should_use_custom_op():
|
35 |
if not enabled:
|
36 |
return False
|
37 |
+
if any(torch.__version__.startswith(x) for x in ['1.7.', '1.8.', '1.9']):
|
38 |
return True
|
39 |
warnings.warn(f'grid_sample_gradfix not supported on PyTorch {torch.__version__}. Falling back to torch.nn.functional.grid_sample().')
|
40 |
return False
|
torch_utils/ops/upfirdn2d.py
CHANGED
@@ -9,10 +9,10 @@
|
|
9 |
"""Custom PyTorch ops for efficient resampling of 2D images."""
|
10 |
|
11 |
import os
|
12 |
-
import sys
|
13 |
import warnings
|
14 |
import numpy as np
|
15 |
import torch
|
|
|
16 |
|
17 |
from .. import custom_ops
|
18 |
from .. import misc
|
@@ -31,7 +31,7 @@ def _init():
|
|
31 |
try:
|
32 |
_plugin = custom_ops.get_plugin('upfirdn2d_plugin', sources=sources, extra_cuda_cflags=['--use_fast_math'])
|
33 |
except:
|
34 |
-
warnings.warn('Failed to build CUDA kernels for upfirdn2d. Falling back to slow reference implementation. Details:\n\n' +
|
35 |
return _plugin is not None
|
36 |
|
37 |
def _parse_scaling(scaling):
|
|
|
9 |
"""Custom PyTorch ops for efficient resampling of 2D images."""
|
10 |
|
11 |
import os
|
|
|
12 |
import warnings
|
13 |
import numpy as np
|
14 |
import torch
|
15 |
+
import traceback
|
16 |
|
17 |
from .. import custom_ops
|
18 |
from .. import misc
|
|
|
31 |
try:
|
32 |
_plugin = custom_ops.get_plugin('upfirdn2d_plugin', sources=sources, extra_cuda_cflags=['--use_fast_math'])
|
33 |
except:
|
34 |
+
warnings.warn('Failed to build CUDA kernels for upfirdn2d. Falling back to slow reference implementation. Details:\n\n' + traceback.format_exc())
|
35 |
return _plugin is not None
|
36 |
|
37 |
def _parse_scaling(scaling):
|