eladrich / pixel2style2pixel

Official Implementation for "Encoding in Style: a StyleGAN Encoder for Image-to-Image Translation" (CVPR 2021) presenting the pixel2style2pixel (pSp) framework
https://eladrich.github.io/pixel2style2pixel/
MIT License
3.19k stars 570 forks source link

ImportError: No module named 'fused' #144

Closed huang1030 closed 3 years ago

huang1030 commented 3 years ago

Thank you for opening up the PSP code and its model. In running inference. py, there was an ImporError: No Module Named 'Fused' error, details are as follows

Traceback (most recent call last): File "E:/python/pixel2style2pixel/scripts/inference.py", line 19, in from models.psp import pSp File "E:\python\pixel2style2pixel\models\psp.py", line 9, in from models.encoders import psp_encoders File "E:\python\pixel2style2pixel\models\encoders\psp_encoders.py", line 8, in from models.stylegan2.model import EqualLinear File "E:\python\pixel2style2pixel\models\stylegan2\model.py", line 7, in from models.stylegan2.op import FusedLeakyReLU, fused_leaky_relu, upfirdn2d File "E:\python\pixel2style2pixel\models\stylegan2\op__init__.py", line 1, in from .fused_act import FusedLeakyReLU, fused_leaky_relu File "E:\python\pixel2style2pixel\models\stylegan2\op\fused_act.py", line 10, in fused = load('fused',sources=[os.path.join(module_path, 'fused_bias_act.cpp'), os.path.join(module_path, 'fused_bias_act_kernel.cu'),], is_python_module=False) File "E:\anaconda\lib\site-packages\torch\utils\cpp_extension.py", line 658, in load is_python_module) File "E:\anaconda\lib\site-packages\torch\utils\cpp_extension.py", line 838, in _jit_compile return _import_module_from_library(name, build_directory, is_python_module) File "E:\anaconda\lib\site-packages\torch\utils\cpp_extension.py", line 978, in _import_module_from_library file, path, description = imp.find_module(module_name, [path]) File "E:\anaconda\lib\imp.py", line 297, in find_module raise ImportError(_ERR_MSG.format(name), name=name) ImportError: No module named 'fused'

In fused_act.py, I'm going to

fused = load('fused',sources=[os.path.join(module_path, 'fused_bias_act.cpp'), os.path.join(module_path, 'fused_bias_act_kernel.cu'),], )

Transformation for

fused = load('fused',sources=[os.path.join(module_path, 'fused_bias_act.cpp'), os.path.join(module_path, 'fused_bias_act_kernel. Cu)], is_python_module = False),

However, the above mistakes still occur. Please inform me of the mistakes. Looking forward to your reply, thanks.

yuval-alaluf commented 3 years ago

This a problem that may occur with Ninja. Please look at the other issues related to this. The easiest solution is to run the script using our provided Anaconda environment.

Rainman111 commented 2 years ago

Thank you for opening up the PSP code and its model. In running inference. py, there was an ImporError: No Module Named 'Fused' error, details are as follows

Traceback (most recent call last): File "E:/python/pixel2style2pixel/scripts/inference.py", line 19, in from models.psp import pSp File "E:\python\pixel2style2pixel\models\psp.py", line 9, in from models.encoders import psp_encoders File "E:\python\pixel2style2pixel\models\encoders\psp_encoders.py", line 8, in from models.stylegan2.model import EqualLinear File "E:\python\pixel2style2pixel\models\stylegan2\model.py", line 7, in from models.stylegan2.op import FusedLeakyReLU, fused_leaky_relu, upfirdn2d File "E:\python\pixel2style2pixel\models\stylegan2\opinit.py", line 1, in from .fused_act import FusedLeakyReLU, fused_leaky_relu File "E:\python\pixel2style2pixel\models\stylegan2\op\fused_act.py", line 10, in fused = load('fused',sources=[os.path.join(module_path, 'fused_bias_act.cpp'), os.path.join(module_path, 'fused_bias_act_kernel.cu'),], is_python_module=False) File "E:\anaconda\lib\site-packages\torch\utils\cpp_extension.py", line 658, in load is_python_module) File "E:\anaconda\lib\site-packages\torch\utils\cpp_extension.py", line 838, in _jit_compile return _import_module_from_library(name, build_directory, is_python_module) File "E:\anaconda\lib\site-packages\torch\utils\cpp_extension.py", line 978, in _import_module_from_library file, path, description = imp.find_module(module_name, [path]) File "E:\anaconda\lib\imp.py", line 297, in find_module raise ImportError(_ERR_MSG.format(name), name=name) ImportError: No module named 'fused'

In fused_act.py, I'm going to

fused = load('fused',sources=[os.path.join(module_path, 'fused_bias_act.cpp'), os.path.join(module_path, 'fused_bias_act_kernel.cu'),], )

Transformation for

fused = load('fused',sources=[os.path.join(module_path, 'fused_bias_act.cpp'), os.path.join(module_path, 'fused_bias_act_kernel. Cu)], is_python_module = False),

However, the above mistakes still occur. Please inform me of the mistakes. Looking forward to your reply, thanks.

I have the same problem as you, have you solved it?

apple2373 commented 1 year ago

I had a similar issue. The cause of this problem is to set the environment for compiling, we can use pure pytorch version, which does not require any compiling.

https://github.com/orpatashnik/StyleCLIP/tree/main/models/stylegan2

Note this part in README " Here, the code relies on the Rosinality pytorch implementation of StyleGAN2. Some parts of the StyleGAN implementation were modified, so that the whole implementation is native pytorch. "