MzeroMiko / VMamba

VMamba: Visual State Space Models,code is based on mamba
MIT License
2.08k stars 129 forks source link

Error of installing selective_scan (mamba_ssm) in win11 #26

Open RiceBunny1990 opened 8 months ago

RiceBunny1990 commented 8 months ago

Thanks for your excellent work. However, there's a error when I follow 'cd selective_scan && pip install . && pytest' in modelcard.sh on WIN11. Error follows:

ninja: build stopped: subcommand failed. Traceback (most recent call last): File "C:\Users\yunlo.conda\envs\env_mamba\lib\site-packages\torch\utils\cpp_extension.py", line 2096, in _run_ninja_build subprocess.run( File "C:\Users\yunlo.conda\envs\env_mamba\lib\subprocess.py", line 526, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

  The above exception was the direct cause of the following exception:

  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "E:\coding\VMamba\selective_scan\setup.py", line 105, in <module>
      setup(
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\__init__.py", line 103, in setup
      return distutils.core.setup(**attrs)
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\_distutils\core.py", line 185, in setup
      return run_commands(dist)
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\_distutils\core.py", line 201, in run_commands
      dist.run_commands()
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\_distutils\dist.py", line 969, in run_commands
      self.run_command(cmd)
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\dist.py", line 989, in run_command
      super().run_command(command)
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
      cmd_obj.run()
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\wheel\bdist_wheel.py", line 364, in run
      self.run_command("build")
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\dist.py", line 989, in run_command
      super().run_command(command)
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
      cmd_obj.run()
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\_distutils\command\build.py", line 131, in run
      self.run_command(cmd_name)
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\dist.py", line 989, in run_command
      super().run_command(command)
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
      cmd_obj.run()
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\command\build_ext.py", line 88, in run
      _build_ext.run(self)
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 345, in run
      self.build_extensions()
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\torch\utils\cpp_extension.py", line 871, in build_extensions
      build_ext.build_extensions(self)
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 467, in build_extensions
      self._build_extensions_serial()
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 493, in _build_extensions_serial
      self.build_extension(ext)
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\command\build_ext.py", line 249, in build_extension
      _build_ext.build_extension(self, ext)
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 548, in build_extension
      objects = self.compiler.compile(
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\torch\utils\cpp_extension.py", line 843, in win_wrap_ninja_compile
      _write_ninja_file_and_compile_objects(
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\torch\utils\cpp_extension.py", line 1774, in _write_ninja_file_and_compile_objects
      _run_ninja_build(
    File "C:\Users\yunlo\.conda\envs\env_mamba\lib\site-packages\torch\utils\cpp_extension.py", line 2112, in _run_ninja_build
      raise RuntimeError(message) from e
  RuntimeError: Error compiling objects for extension
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for selective-scan Running setup.py clean for selective-scan Failed to build selective-scan ERROR: Could not build wheels for selective-scan, which is required to install pyproject.toml-based projects

So, I try to install mamba_Ssm directly from original code. But when I follow the method: "git clone https://github.com/state-spaces/mamba.git cd mamba git checkout v1.1.3 CAUSAL_CONV1D_FORCE_BUILD=TRUE pip install . " Same errors still happens:


Processing e:\coding\vmamba\mamba Preparing metadata (setup.py) ... done Requirement already satisfied: torch in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from mamba-ssm==1.1.3) (2.2.0+cu121) Requirement already satisfied: packaging in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from mamba-ssm==1.1.3) (23.2) Requirement already satisfied: ninja in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from mamba-ssm==1.1.3) (1.11.1.1) Collecting einops (from mamba-ssm==1.1.3) Using cached einops-0.7.0-py3-none-any.whl.metadata (13 kB) Requirement already satisfied: triton in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from mamba-ssm==1.1.3) (2.0.0) Collecting transformers (from mamba-ssm==1.1.3) Using cached transformers-4.37.2-py3-none-any.whl.metadata (129 kB) Requirement already satisfied: causal_conv1d>=1.1.0 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from mamba-ssm==1.1.3) (1.1.1) Requirement already satisfied: buildtools in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (1.0.6) Requirement already satisfied: filelock in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from torch->mamba-ssm==1.1.3) (3.9.0) Requirement already satisfied: typing-extensions>=4.8.0 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from torch->mamba-ssm==1.1.3) (4.8.0) Requirement already satisfied: sympy in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from torch->mamba-ssm==1.1.3) (1.12) Requirement already satisfied: networkx in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from torch->mamba-ssm==1.1.3) (3.2.1) Requirement already satisfied: jinja2 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from torch->mamba-ssm==1.1.3) (3.1.2) Requirement already satisfied: fsspec in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from torch->mamba-ssm==1.1.3) (2023.4.0) Collecting huggingface-hub<1.0,>=0.19.3 (from transformers->mamba-ssm==1.1.3) Using cached huggingface_hub-0.20.3-py3-none-any.whl.metadata (12 kB) Requirement already satisfied: numpy>=1.17 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from transformers->mamba-ssm==1.1.3) (1.26.3) Requirement already satisfied: pyyaml>=5.1 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from transformers->mamba-ssm==1.1.3) (6.0.1) Collecting regex!=2019.12.17 (from transformers->mamba-ssm==1.1.3) Using cached regex-2023.12.25-cp310-cp310-win_amd64.whl.metadata (41 kB) Requirement already satisfied: requests in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from transformers->mamba-ssm==1.1.3) (2.28.1) Collecting tokenizers<0.19,>=0.14 (from transformers->mamba-ssm==1.1.3) Using cached tokenizers-0.15.1-cp310-none-win_amd64.whl.metadata (6.8 kB) Collecting safetensors>=0.4.1 (from transformers->mamba-ssm==1.1.3) Using cached safetensors-0.4.2-cp310-none-win_amd64.whl.metadata (3.9 kB) Requirement already satisfied: tqdm>=4.27 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from transformers->mamba-ssm==1.1.3) (4.66.1) Requirement already satisfied: cmake in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from triton->mamba-ssm==1.1.3) (3.28.1) Collecting fsspec (from torch->mamba-ssm==1.1.3) Using cached fsspec-2023.12.2-py3-none-any.whl.metadata (6.8 kB) Requirement already satisfied: colorama in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from tqdm>=4.27->transformers->mamba-ssm==1.1.3) (0.4.6) Requirement already satisfied: sqlalchemy in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (2.0.25) Collecting argparse (from buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) Using cached argparse-1.4.0-py2.py3-none-any.whl (23 kB) Requirement already satisfied: twisted in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (23.10.0) Requirement already satisfied: simplejson in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (3.19.2) Requirement already satisfied: furl in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (2.1.3) Requirement already satisfied: docopt in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (0.6.2) Requirement already satisfied: python-dateutil in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (2.8.2) Requirement already satisfied: redo in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (2.0.4) Requirement already satisfied: MarkupSafe>=2.0 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from jinja2->torch->mamba-ssm==1.1.3) (2.1.3) Requirement already satisfied: charset-normalizer<3,>=2 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from requests->transformers->mamba-ssm==1.1.3) (2.1.1) Requirement already satisfied: idna<4,>=2.5 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from requests->transformers->mamba-ssm==1.1.3) (3.4) Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from requests->transformers->mamba-ssm==1.1.3) (1.26.13) Requirement already satisfied: certifi>=2017.4.17 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from requests->transformers->mamba-ssm==1.1.3) (2022.12.7) Requirement already satisfied: mpmath>=0.19 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from sympy->torch->mamba-ssm==1.1.3) (1.3.0) Requirement already satisfied: six>=1.8.0 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from furl->buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (1.16.0) Requirement already satisfied: orderedmultidict>=1.0.1 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from furl->buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (1.0.1) Requirement already satisfied: greenlet!=0.4.17 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from sqlalchemy->buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (3.0.3) Requirement already satisfied: attrs>=21.3.0 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from twisted->buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (23.2.0) Requirement already satisfied: automat>=0.8.0 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from twisted->buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (22.10.0) Requirement already satisfied: constantly>=15.1 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from twisted->buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (23.10.4) Requirement already satisfied: hyperlink>=17.1.1 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from twisted->buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (21.0.0) Requirement already satisfied: incremental>=22.10.0 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from twisted->buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (22.10.0) Requirement already satisfied: twisted-iocpsupport<2,>=1.0.2 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from twisted->buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (1.0.4) Requirement already satisfied: zope-interface>=5 in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from twisted->buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (6.1) Requirement already satisfied: setuptools in c:\users\yunlo.conda\envs\env_mamba\lib\site-packages (from zope-interface>=5->twisted->buildtools->causal_conv1d>=1.1.0->mamba-ssm==1.1.3) (68.2.2) Using cached einops-0.7.0-py3-none-any.whl (44 kB) Using cached transformers-4.37.2-py3-none-any.whl (8.4 MB) Using cached huggingface_hub-0.20.3-py3-none-any.whl (330 kB) Using cached fsspec-2023.12.2-py3-none-any.whl (168 kB) Using cached regex-2023.12.25-cp310-cp310-win_amd64.whl (269 kB) Using cached safetensors-0.4.2-cp310-none-win_amd64.whl (269 kB) Using cached tokenizers-0.15.1-cp310-none-win_amd64.whl (2.2 MB) Building wheels for collected packages: mamba-ssm Building wheel for mamba-ssm (setup.py) ... error error: subprocess-exited-with-error

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

  torch.__version__  = 2.2.0+cu121

  running bdist_wheel
  Guessing wheel URL:  https://github.com/state-spaces/mamba/releases/download/v1.1.3/mamba_ssm-1.1.3+cu122torch2.2cxx11abiFALSE-cp310-cp310-win_amd64.whl
  error: <urlopen error [SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1007)>
  [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: Could not build wheels for mamba-ssm, which is required to install pyproject.toml-based projects

So I try download mamba's whl in https://github.com/state-spaces/mamba/releases ,I find all of whl are based on linux without amd64.whl and I work on win11. So please help me .

eclipse0922 commented 8 months ago

https://github.com/state-spaces/mamba/issues/12

you need to check this issue on mamba

RiceBunny1990 commented 8 months ago

@eclipse0922 thanks for your help. However,the error still happens when I try the method provided by @Grzego https://github.com/state-spaces/mamba/issues/12#issuecomment-1848835662 . And I'm trying the way by @Phylliida of removing this line:" import selective_scan_cuda" in ops/selective_scan_interface.py ,but what should be added in "out, x, rest = selective_scan_cuda.fwd(u, delta, A, B, C, D, delta_bias, delta_softplus)
du, ddelta, dA, dB, dC, dD, ddelta_bias,
rest = selective_scan_cuda.bwd( u, delta, A, B, C, D, delta_bias, dout, x, None, ctx.delta_softplus, ) "? That's so strange.

RiceBunny1990 commented 8 months ago

Finally I use the Vim code of https://github.com/hustvl/Vim to install mamba "pip install e mamba" successfully . And use the method of https://github.com/state-spaces/mamba/issues/55#issuecomment-1899094148 to install causal_conv1d . Win11 torch.version = 2.2.0+cu121 .

Casey-bit commented 7 months ago

And I want to know how to install selective_scan in win11? Thank you for help!

CHEROAD commented 7 months ago

You can try wsl2,without this problem.

Casey-bit commented 7 months ago

@CHEROAD Thank you very much! I have solved this problem by using wsl2!

ajie220209 commented 7 months ago

最后,我使用 https://github.com/hustvl/Vim 的 Vim 代码成功安装了 mamba “pip install e mamba”。并使用 state-spaces/mamba#55 (comment) 的方法安装 causal_conv1d 。 Win11 火炬。版本 = 2.2.0+CU121 。

能否留一下你的v? 我不太懂你说的