lronkitty / SSUMamba

Code of "SSUMamba: Spatial-Spectral Selective State Space Model for Hyperspectral Image Denoising"
26 stars 3 forks source link

Fatal error when building mamba on windows 10 #1

Closed 8fanmao closed 3 months ago

8fanmao commented 4 months ago

Hi, very nice work of SSUMamba, I tried to run it on windows 10 but I met some problem. I follow the instruction and run "pip install -e requirements/mamba", it ends up with:

LINK : fatal error LNK1181: 无法打开输入文件“C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc\selective_scan\selective_scan_bwd_bf16_complex
.obj”
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.28.29910\\bin\\HostX86\\x64\\link.exe' failed with exit code 1181
    [end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.

Then I tried "pip install mamba-ssm" directly, it also false with:

LINK : fatal error LNK1181: 无法打开输入文件“C:\Users\xx\AppData\Local\Temp\pip-install-m7cjj6zv\mamba-ssm_1055514df16c456b808f1beb95ba22b3\build\temp.win-amd64-cpython-310\Release\csrc\selective_sc
an\selective_scan.obj”
      error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.28.29910\\bin\\HostX86\\x64\\link.exe' failed with exit code 1181
      [end of output]
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for mamba-ssm
  Running setup.py clean for mamba-ssm
Failed to build mamba-ssm
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (mamba-ssm)

I noticed that mamba-ssm only has .whl for linux, so does it means I have to run the code on linux? And I want to know if you made any changes inside the mamba-ssm, can I just install the causal-conv1d and mamba from pypi. Looking forword to your reply :)

中文part: 傅博您好,我无法在windows系统上运行mamba的安装程序(但是通过pip install -e 可以成功安装causal-conv1d),我注意到mamba只提供了linux的.whl,是否意味着这个代码只能在linux下运行。在您的SSUMamba论文中并未说明在什么系统下运行,能否告知您的系统环境。 另外,我想知道您是否对causal-conv1d和mamba-ssm库做了自己的修改,如果没有的话,我可不可以通过更加便捷的方法直接从pypi上下载离线包来安装而不是通过pip install可编辑库的形式。如果可以的话,请告诉我支持的version。 谢谢!

8fanmao commented 4 months ago

The whole process is:

(torch2.1) C:\Users\xx\SSUMamba-main>pip install -e requirements/mamba
Obtaining file:///C:/Users/xx/SSUMamba-main/requirements/mamba
  Preparing metadata (setup.py) ... done
Requirement already satisfied: torch in c:\anaconda\envs\torch2.1\lib\site-packages (from mamba_ssm==1.0.1) (2.1.1+cu118)
Requirement already satisfied: packaging in c:\anaconda\envs\torch2.1\lib\site-packages (from mamba_ssm==1.0.1) (24.1)
Requirement already satisfied: ninja in c:\anaconda\envs\torch2.1\lib\site-packages (from mamba_ssm==1.0.1) (1.11.1.1)
Requirement already satisfied: einops in c:\anaconda\envs\torch2.1\lib\site-packages (from mamba_ssm==1.0.1) (0.7.0)
Requirement already satisfied: triton in c:\anaconda\envs\torch2.1\lib\site-packages (from mamba_ssm==1.0.1) (2.0.0)
Requirement already satisfied: transformers in c:\anaconda\envs\torch2.1\lib\site-packages (from mamba_ssm==1.0.1) (4.42.3)
Requirement already satisfied: causal_conv1d in c:\users\xx\ssumamba-main\requirements\causal-conv1d (from mamba_ssm==1.0.1) (1.0.0)
Requirement already satisfied: filelock in c:\anaconda\envs\torch2.1\lib\site-packages (from torch->mamba_ssm==1.0.1) (3.15.4)
Requirement already satisfied: typing-extensions in c:\anaconda\envs\torch2.1\lib\site-packages (from torch->mamba_ssm==1.0.1) (4.12.2)
Requirement already satisfied: sympy in c:\anaconda\envs\torch2.1\lib\site-packages (from torch->mamba_ssm==1.0.1) (1.12.1)
Requirement already satisfied: networkx in c:\anaconda\envs\torch2.1\lib\site-packages (from torch->mamba_ssm==1.0.1) (3.3)
Requirement already satisfied: jinja2 in c:\anaconda\envs\torch2.1\lib\site-packages (from torch->mamba_ssm==1.0.1) (3.1.4)
Requirement already satisfied: fsspec in c:\anaconda\envs\torch2.1\lib\site-packages (from torch->mamba_ssm==1.0.1) (2024.6.1)
Requirement already satisfied: huggingface-hub<1.0,>=0.23.2 in c:\anaconda\envs\torch2.1\lib\site-packages (from transformers->mamba_ssm==1.0.1) (0.23.4)
Requirement already satisfied: numpy<2.0,>=1.17 in c:\anaconda\envs\torch2.1\lib\site-packages (from transformers->mamba_ssm==1.0.1) (1.26.4)
Requirement already satisfied: pyyaml>=5.1 in c:\anaconda\envs\torch2.1\lib\site-packages (from transformers->mamba_ssm==1.0.1) (6.0.1)
Requirement already satisfied: regex!=2019.12.17 in c:\anaconda\envs\torch2.1\lib\site-packages (from transformers->mamba_ssm==1.0.1) (2024.5.15)
Requirement already satisfied: requests in c:\anaconda\envs\torch2.1\lib\site-packages (from transformers->mamba_ssm==1.0.1) (2.32.3)
Requirement already satisfied: safetensors>=0.4.1 in c:\anaconda\envs\torch2.1\lib\site-packages (from transformers->mamba_ssm==1.0.1) (0.4.3)
Requirement already satisfied: tokenizers<0.20,>=0.19 in c:\anaconda\envs\torch2.1\lib\site-packages (from transformers->mamba_ssm==1.0.1) (0.19.1)
Requirement already satisfied: tqdm>=4.27 in c:\anaconda\envs\torch2.1\lib\site-packages (from transformers->mamba_ssm==1.0.1) (4.66.1)
Requirement already satisfied: cmake in c:\anaconda\envs\torch2.1\lib\site-packages (from triton->mamba_ssm==1.0.1) (3.30.0)
Requirement already satisfied: colorama in c:\anaconda\envs\torch2.1\lib\site-packages (from tqdm>=4.27->transformers->mamba_ssm==1.0.1) (0.4.6)
Requirement already satisfied: MarkupSafe>=2.0 in c:\anaconda\envs\torch2.1\lib\site-packages (from jinja2->torch->mamba_ssm==1.0.1) (2.1.5)
Requirement already satisfied: charset-normalizer<4,>=2 in c:\anaconda\envs\torch2.1\lib\site-packages (from requests->transformers->mamba_ssm==1.0.1) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in c:\anaconda\envs\torch2.1\lib\site-packages (from requests->transformers->mamba_ssm==1.0.1) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\anaconda\envs\torch2.1\lib\site-packages (from requests->transformers->mamba_ssm==1.0.1) (2.2.2)
Requirement already satisfied: certifi>=2017.4.17 in c:\anaconda\envs\torch2.1\lib\site-packages (from requests->transformers->mamba_ssm==1.0.1) (2024.7.4)
Requirement already satisfied: mpmath<1.4.0,>=1.1.0 in c:\anaconda\envs\torch2.1\lib\site-packages (from sympy->torch->mamba_ssm==1.0.1) (1.3.0)
Installing collected packages: mamba_ssm
  Running setup.py develop for mamba_ssm
    error: subprocess-exited-with-error

    × python setup.py develop did not run successfully.
    │ exit code: 1
    ╰─> [52 lines of output]

        torch.__version__  = 2.1.1+cu118

        running develop
        C:\anaconda\envs\torch2.1\lib\site-packages\setuptools\command\develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
        !!

                ********************************************************************************
                Please avoid running ``setup.py`` and ``easy_install``.
                Instead, use pypa/build, pypa/installer or other
                standards-based tools.

                See https://github.com/pypa/setuptools/issues/917 for details.
                ********************************************************************************

        !!
          easy_install.initialize_options(self)
        C:\anaconda\envs\torch2.1\lib\site-packages\setuptools\_distutils\cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
        !!

                ********************************************************************************
                Please avoid running ``setup.py`` directly.
                Instead, use pypa/build, pypa/installer or other
                standards-based tools.

                See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
                ********************************************************************************

        !!
          self.initialize_options()
        running egg_info
        writing mamba_ssm.egg-info\PKG-INFO
        writing dependency_links to mamba_ssm.egg-info\dependency_links.txt
        writing requirements to mamba_ssm.egg-info\requires.txt
        writing top-level names to mamba_ssm.egg-info\top_level.txt
        reading manifest file 'mamba_ssm.egg-info\SOURCES.txt'
        adding license file 'LICENSE'
        adding license file 'AUTHORS'
        writing manifest file 'mamba_ssm.egg-info\SOURCES.txt'
        running build_ext
        C:\anaconda\envs\torch2.1\lib\site-packages\torch\utils\cpp_extension.py:395: UserWarning: Error checking compiler version for cl: [WinError 2] 系统找不到指定的文件。
          warnings.warn(f'Error checking compiler version for {compiler}: {error}')
        building 'selective_scan_cuda' extension
        Emitting ninja build file C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\build.ninja...
        Compiling objects...
        Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
        1.11.1.git.kitware.jobserver-1
        "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\bin\HostX86\x64\link.exe" /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:C:\an
aconda\envs\torch2.1\lib\site-packages\torch\lib "/LIBPATH:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\lib\x64" /LIBPATH:C:\anaconda\envs\torch2.1\libs /LIBPATH:C:\anaconda\envs\torch2.1 /LIBPATH:C
:\anaconda\envs\torch2.1\PCbuild\amd64 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\lib\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041
.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64" c10.lib torch.lib torch_cpu.lib torch_python.lib cudart.lib c10_cuda.lib torch_cuda.lib /EXPORT:PyInit_selective_scan_cuda
C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan/selective_scan.obj C:\Users\xx\SSUMamba-main\requirements\
mamba\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan/selective_scan_bwd_bf16_complex.obj C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Releas
e\csrc/selective_scan/selective_scan_bwd_bf16_real.obj C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan/selective_scan_bwd_fp16_co
mplex.obj C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan/selective_scan_bwd_fp16_real.obj C:\Users\xx\SSU
Mamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan/selective_scan_bwd_fp32_complex.obj C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-
amd64-cpython-310\Release\csrc/selective_scan/selective_scan_bwd_fp32_real.obj C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan/se
lective_scan_fwd_bf16.obj C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan/selective_scan_fwd_fp16.obj C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan/selective_scan_fwd_fp32.obj /OUT:build\lib.win-amd64-cpython-310\selective_scan_cuda.cp310-win_amd64.pyd /IM
PLIB:C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan\selective_scan_cuda.cp310-win_amd64.lib
        LINK : fatal error LNK1181: 无法打开输入文件“C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc\selective_scan\selective_scan_bwd_bf16_com
plex.obj”
        error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.28.29910\\bin\\HostX86\\x64\\link.exe' failed with exit code 1181
        [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× python setup.py develop did not run successfully.
│ exit code: 1
╰─> [52 lines of output]

    torch.__version__  = 2.1.1+cu118

    running develop
    C:\anaconda\envs\torch2.1\lib\site-packages\setuptools\command\develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
    !!

            ********************************************************************************
            Please avoid running ``setup.py`` and ``easy_install``.
            Instead, use pypa/build, pypa/installer or other
            standards-based tools.

            See https://github.com/pypa/setuptools/issues/917 for details.
            ********************************************************************************

    !!
      easy_install.initialize_options(self)
    C:\anaconda\envs\torch2.1\lib\site-packages\setuptools\_distutils\cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
    !!

            ********************************************************************************
            Please avoid running ``setup.py`` directly.
            Instead, use pypa/build, pypa/installer or other
            standards-based tools.

            See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
            ********************************************************************************

    !!
      self.initialize_options()
    running egg_info
    writing mamba_ssm.egg-info\PKG-INFO
    writing dependency_links to mamba_ssm.egg-info\dependency_links.txt
    writing requirements to mamba_ssm.egg-info\requires.txt
    writing top-level names to mamba_ssm.egg-info\top_level.txt
    reading manifest file 'mamba_ssm.egg-info\SOURCES.txt'
    adding license file 'LICENSE'
    adding license file 'AUTHORS'
    writing manifest file 'mamba_ssm.egg-info\SOURCES.txt'
    running build_ext
    C:\anaconda\envs\torch2.1\lib\site-packages\torch\utils\cpp_extension.py:395: UserWarning: Error checking compiler version for cl: [WinError 2] 系统找不到指定的文件。
      warnings.warn(f'Error checking compiler version for {compiler}: {error}')
    building 'selective_scan_cuda' extension
    Emitting ninja build file C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\build.ninja...
    Compiling objects...
    Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
    1.11.1.git.kitware.jobserver-1
    "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\bin\HostX86\x64\link.exe" /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:C:\anacon
da\envs\torch2.1\lib\site-packages\torch\lib "/LIBPATH:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\lib\x64" /LIBPATH:C:\anaconda\envs\torch2.1\libs /LIBPATH:C:\anaconda\envs\torch2.1 /LIBPATH:C:\an
aconda\envs\torch2.1\PCbuild\amd64 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\lib\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\u
crt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64" c10.lib torch.lib torch_cpu.lib torch_python.lib cudart.lib c10_cuda.lib torch_cuda.lib /EXPORT:PyInit_selective_scan_cuda C:\U
sers\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan/selective_scan.obj C:\Users\xx\SSUMamba-main\requirements\mamb
a\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan/selective_scan_bwd_bf16_complex.obj C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\cs
rc/selective_scan/selective_scan_bwd_bf16_real.obj C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan/selective_scan_bwd_fp16_comple
x.obj C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan/selective_scan_bwd_fp16_real.obj C:\Users\xx\SSUMamb
a-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan/selective_scan_bwd_fp32_complex.obj C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd6
4-cpython-310\Release\csrc/selective_scan/selective_scan_bwd_fp32_real.obj C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan/select
ive_scan_fwd_bf16.obj C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan/selective_scan_fwd_fp16.obj C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan/selective_scan_fwd_fp32.obj /OUT:build\lib.win-amd64-cpython-310\selective_scan_cuda.cp310-win_amd64.pyd /IMPLIB
:C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc/selective_scan\selective_scan_cuda.cp310-win_amd64.lib
    LINK : fatal error LNK1181: 无法打开输入文件“C:\Users\xx\SSUMamba-main\requirements\mamba\build\temp.win-amd64-cpython-310\Release\csrc\selective_scan\selective_scan_bwd_bf16_complex
.obj”
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.28.29910\\bin\\HostX86\\x64\\link.exe' failed with exit code 1181
    [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
lronkitty commented 3 months ago

你好,我没有在windows下编译过,不过考虑到大多数Mamba工作基于Linux系统进行的实现,建议使用Linux系统试试。另外,causal-conv1d和mamba-ssm库是做了修改的,具体修改可以参考 https://github.com/OpenGVLab/VideoMamba

8fanmao commented 3 months ago

你好,我没有在windows下编译过,不过考虑到大多数Mamba工作基于Linux系统进行的实现,建议使用Linux系统试试。另外,causal-conv1d和mamba-ssm库是做了修改的,具体修改可以参考 https://github.com/OpenGVLab/VideoMamba

感谢您的回复,我在之前的时间里自己摸索出了一套win下可行的安装方法。step1:参考yyywxk的博客https://blog.csdn.net/yyywxk/article/details/140420538 安装原始版本的mamba,step2:将修改过的.py文件例如selective_scan_interface.py替换到site-package对应的目录下。

8fanmao commented 3 months ago

done, Step1: reference yyywxk blog https://blog.csdn.net/yyywxk/article/details/140420538 to install the original version of the mamba, step2: Replace the modified .py file, such as selective_scan_interface.py, into the corresponding directory of ./site-package/mamba.

Sanfleeeee commented 2 months ago

您好,我也遇到了同样的问题,请问您现在在windows上运行出来结果了吗?我是一个刚接触manba的新手,我想尝试用您的方法安装原始版本的mamba,但是在替换的时候不知道具体怎么替换,您说的替换是直接全部替换掉SSUMamba-main/mamba文件夹还是替换掉SSUMamba-main/requirements/mamba呢?希望可以得到您的指点,十分感激! 1726023340402

8fanmao commented 2 months ago

您好,我也遇到了同样的问题,请问您现在在windows上运行出来结果了吗?我是一个刚接触manba的新手,我想尝试用您的方法安装原始版本的mamba,但是在替换的时候不知道具体怎么替换,您说的替换是直接全部替换掉SSUMamba-main/mamba文件夹还是替换掉SSUMamba-main/requirements/mamba呢?希望可以得到您的指点,十分感激! 1726023340402

Not really, 你应该进行的操作是:使用requirement里的mamba-ssm替换掉conda env中已经安装的原始mamba库(只替换Py文件,不要动那些C和驱动库),他们的差别是mamba-ssm使用了vim的双向ssm;如果你使用的不是conda,那就替换对应python安装路径下的。在我的环境下,它的路径是C:\anaconda\envs\vimcu\Lib\site-packages\mamba_ssm 请仔细阅读csdn的这篇教程,我相信它可以解答你的大部分问题 https://blog.csdn.net/yyywxk/article/details/140420538

lronkitty commented 2 months ago

您好,我也遇到了同样的问题,请问您现在在windows上运行出来结果了吗?我是一个刚接触manba的新手,我想尝试用您的方法安装原始版本的mamba,但是在替换的时候不知道具体怎么替换,您说的替换是直接全部替换掉SSUMamba-main/mamba文件夹还是替换掉SSUMamba-main/requirements/mamba呢?希望可以得到您的指点,十分感激! 1726023340402

Not really, 你应该进行的操作是:使用requirement里的mamba-ssm替换掉conda env中已经安装的原始mamba库(只替换Py文件,不要动那些C和驱动库),他们的差别是mamba-ssm使用了vim的双向ssm;如果你使用的不是conda,那就替换对应python安装路径下的。在我的环境下,它的路径是C:\anaconda\envs\vimcu\Lib\site-packages\mamba_ssm 请仔细阅读csdn的这篇教程,我相信它可以解答你的大部分问题 https://blog.csdn.net/yyywxk/article/details/140420538

感谢您的帮助,我确实没有在windows下的编译经验,非常感谢

Sanfleeeee commented 2 months ago

非常非常非常感激您们的回复,您们的回复对我非常有帮助!昨天收到您的回复之后我尝试了一下该方法,下载了causal-conv1d和mamba的.whl文件,并且解决了大部分问题,但是我在配置好环境的时候又遇到了一些代码在不同操作系统上不互通的问题(图1),运行之后报错(图2),该问题在mamba/utility/helper.py文件下,而且help.py导入包的部分有两行代码是注释的,影响到了程序的运行,后来我调整代码之后再运行train.py文件时,发现程序阻塞了,输出不了任何结果 TAT(图3),我调整了好久也没有用,想请教一下您当时是怎么解决这个问题的呢,如果方便的话,能不能提供一下您修改过的代码,非常非常感激您,这个文章对我启发很大,我想调试一下看看效果,再次感谢您们的回复!!祝您身体健康,工作顺利! 1 2 3

lronkitty commented 2 months ago

非常非常非常感激您们的回复,您们的回复对我非常有帮助!昨天收到您的回复之后我尝试了一下该方法,下载了causal-conv1d和mamba的.whl文件,并且解决了大部分问题,但是我在配置好环境的时候又遇到了一些代码在不同操作系统上不互通的问题(图1),运行之后报错(图2),该问题在mamba/utility/helper.py文件下,而且help.py导入包的部分有两行代码是注释的,影响到了程序的运行,后来我调整代码之后再运行train.py文件时,发现程序阻塞了,输出不了任何结果 TAT(图3),我调整了好久也没有用,想请教一下您当时是怎么解决这个问题的呢,如果方便的话,能不能提供一下您修改过的代码,非常非常感激您,这个文章对我启发很大,我想调试一下看看效果,再次感谢您们的回复!!祝您身体健康,工作顺利! 1 2 3

关于causal-conv1d和mamba-ssm的问题,我用的这两个包不是GU老师的,是OpenGVLab的版本: https://github.com/OpenGVLab/VideoMamba 另外,如果单独调试这个问题的话,可能windows下的输出不止两个,代码里只需要term_width这个输出,你可以注释这一行,直接赋值,term_width = 120,如果有bug就减少到 80,40这样。

Sanfleeeee commented 2 months ago

非常非常非常感激您们的回复,您们的回复对我非常有帮助!昨天收到您的回复之后我尝试了一下该方法,下载了causal-conv1d和mamba的.whl文件,并且解决了大部分问题,但是我在配置好环境的时候又遇到了一些代码在不同操作系统上不互通的问题(图1),运行之后报错(图2),该问题在mamba/utility/helper.py文件下,而且help.py导入包的部分有两行代码是注释的,影响到了程序的运行,后来我调整代码之后再运行train.py文件时,发现程序阻塞了,输出不了任何结果 TAT(图3),我调整了好久也没有用,想请教一下您当时是怎么解决这个问题的呢,如果方便的话,能不能提供一下您修改过的代码,非常非常感激您,这个文章对我启发很大,我想调试一下看看效果,再次感谢您们的回复!!祝您身体健康,工作顺利! 1 2 3

关于causal-conv1d和mamba-ssm的问题,我用的这两个包不是GU老师的,是OpenGVLab的版本: https://github.com/OpenGVLab/VideoMamba 另外,如果单独调试这个问题的话,可能windows下的输出不止两个,代码里只需要term_width这个输出,你可以注释这一行,直接赋值,term_width = 120,如果有bug就减少到 80,40这样。

感谢您的回复,我按照您的方法直接赋值term_width=120之后,运行代码之后还是没有结果,运行train.py的时候程序阻塞,进入不了train函数,直接没有结果,运行test.py的时候提示cfg报错,重新换了一个环境进行配置还是运行不了TAT,不知道是怎么回事 1 2 3

Sanfleeeee commented 2 months ago

您好,我也遇到了同样的问题,请问您现在在windows上运行出来结果了吗?我是一个刚接触manba的新手,我想尝试用您的方法安装原始版本的mamba,但是在替换的时候不知道具体怎么替换,您说的替换是直接全部替换掉SSUMamba-main/mamba文件夹还是替换掉SSUMamba-main/requirements/mamba呢?希望可以得到您的指点,十分感激! 1726023340402

Not really, 你应该进行的操作是:使用requirement里的mamba-ssm替换掉conda env中已经安装的原始mamba库(只替换Py文件,不要动那些C和驱动库),他们的差别是mamba-ssm使用了vim的双向ssm;如果你使用的不是conda,那就替换对应python安装路径下的。在我的环境下,它的路径是C:\anaconda\envs\vimcu\Lib\site-packages\mamba_ssm 请仔细阅读csdn的这篇教程,我相信它可以解答你的大部分问题 https://blog.csdn.net/yyywxk/article/details/140420538

请问方便留个联系方式吗?不知道方不方便看下您修改后在windows上运行的代码,我在windows下配置了两天了QAQ,还是运行不了,现在非常难过TAT,可以有偿,真的感谢您!!!

8fanmao commented 2 months ago

您好,我也遇到了同样的问题,请问您现在在windows上运行出来结果了吗?我是一个刚接触manba的新手,我想尝试用您的方法安装原始版本的mamba,但是在替换的时候不知道具体怎么替换,您说的替换是直接全部替换掉SSUMamba-main/mamba文件夹还是替换掉SSUMamba-main/requirements/mamba呢?希望可以得到您的指点,十分感激! 1726023340402

Not really, 你应该进行的操作是:使用requirement里的mamba-ssm替换掉conda env中已经安装的原始mamba库(只替换Py文件,不要动那些C和驱动库),他们的差别是mamba-ssm使用了vim的双向ssm;如果你使用的不是conda,那就替换对应python安装路径下的。在我的环境下,它的路径是C:\anaconda\envs\vimcu\Lib\site-packages\mamba_ssm 请仔细阅读csdn的这篇教程,我相信它可以解答你的大部分问题 https://blog.csdn.net/yyywxk/article/details/140420538

请问方便留个联系方式吗?不知道方不方便看下您修改后在windows上运行的代码,我在windows下配置了两天了QAQ,还是运行不了,现在非常难过TAT,可以有偿,真的感谢您!!!

受限于工作协议,我无法提供修改后的代码 :-( 但我可以尽力回答你的疑问。 首先,对于mamba-ssm和causal-conv1d库的安装,我的所有操作都参考了csdn的教程。如果你在使用videomamba的py文件替换原始mamba-ssm的py文件后,依然可以正常运行这两个库的作者提供的demo代码。那么你的安装应该是成功的,可以判断这些bug不是由于mamba-ssm库造成的。 这些问题很有可能是来自于本项目自身,并且代码没有正确运行的根本原因不在于helper.py,因为我目前用于工程的代码已经没有使用这一部分工具函数,但并不影响它的正常训练和推理。你也可以适当地精简代码,缩小测试时涉及的范围,只保留主体部分。 这里我给出我的一些猜测,你可以尝试关闭pl.Trainer中的ddp训练strategy,并且注释或者修改掉代码中涉及到分布式计算的内容,因为这些策略依赖于linux的通信协议,在win下无法直接使用,它们很有可能是bug来源。即使不是,也应当关闭这些错误使用的策略,因为它们可能会干扰你对bug定位的判断。

lronkitty commented 2 months ago

非常非常非常感激您们的回复,您们的回复对我非常有帮助!昨天收到您的回复之后我尝试了一下该方法,下载了causal-conv1d和mamba的.whl文件,并且解决了大部分问题,但是我在配置好环境的时候又遇到了一些代码在不同操作系统上不互通的问题(图1),运行之后报错(图2),该问题在mamba/utility/helper.py文件下,而且help.py导入包的部分有两行代码是注释的,影响到了程序的运行,后来我调整代码之后再运行train.py文件时,发现程序阻塞了,输出不了任何结果 TAT(图3),我调整了好久也没有用,想请教一下您当时是怎么解决这个问题的呢,如果方便的话,能不能提供一下您修改过的代码,非常非常感激您,这个文章对我启发很大,我想调试一下看看效果,再次感谢您们的回复!!祝您身体健康,工作顺利! 1 2 3

关于causal-conv1d和mamba-ssm的问题,我用的这两个包不是GU老师的,是OpenGVLab的版本: https://github.com/OpenGVLab/VideoMamba 另外,如果单独调试这个问题的话,可能windows下的输出不止两个,代码里只需要term_width这个输出,你可以注释这一行,直接赋值,term_width = 120,如果有bug就减少到 80,40这样。

感谢您的回复,我按照您的方法直接赋值term_width=120之后,运行代码之后还是没有结果,运行train.py的时候程序阻塞,进入不了train函数,直接没有结果,运行test.py的时候提示cfg报错,重新换了一个环境进行配置还是运行不了TAT,不知道是怎么回事 1 2 3

看起来可能是配置文件存在一些问题,可以尝试一下直接用我给的脚本运行。Pytorch_lighting这个包不同版本的修改比较大,最好用我给的环境里一样的版本。

Sanfleeeee commented 1 month ago

非常非常感谢您们的回复!通过您们的帮助,我调试好代码了,我研究了几天在windows上直接运行代码,但是好像一直行不通,因为很多配置文件都是基于linux的,后来我在wsl上进行了尝试,结合ssmmamba.yaml的要求安装了需要的包和requirements,现在能够成功运行代码了,目前还在下载数据集,真的是很棒的项目!非常感谢您们!!祝您们工作顺利!越来越好!