OpenBMB / OpenBMB/CPM-Bee

关于 bmtrain 包的版本问题

Open
#57 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Environment
Dominant language
Python
Stars
2.4k
Forks
176
PR merge metrics
No merged PRs in 30d

Description

环境:
ubuntu server 22.04
conda python 3.10.0
nvidia driver 12.1.0

尝试一:
pip install -r requirements.txt

报错:

Collecting torch<2.0.0,>=1.10
  Using cached torch-1.13.1-cp310-cp310-manylinux1_x86_64.whl (887.5 MB)
Collecting bmtrain>=0.2.1
  Using cached bmtrain-0.2.2.tar.gz (58 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [6 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-uftha_ch/bmtrain_6f467e6c12814fa9a32dccab67860fad/setup.py", line 2, in <module>
          import torch
      ModuleNotFoundError: No module named 'torch'
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

尝试二:
1,手动安装 cuda 11.8 下的 pytorch 2.0, torch.cuda.is_available() 输出 True
2,手动安装 requirements.txt 下除 torch 外的所有包
例如:pip install bmtrain>=0.2.1

出现错误:

  error: subprocess-exited-with-error
  
  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [102 lines of output]
      running bdist_wheel
      /root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/torch/utils/cpp_extension.py:476: UserWarning: Attempted to use ninja as the BuildExtension backend but we could not find ninja.. Falling back to using the slow distutils backend.
        warnings.warn(msg.format('we could not find ninja.'))
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-310
      creating build/lib.linux-x86_64-cpython-310/bmtrain
      copying bmtrain/checkpointing.py -> build/lib.linux-x86_64-cpython-310/bmtrain
      copying bmtrain/init.py -> build/lib.linux-x86_64-cpython-310/bmtrain
      copying bmtrain/__init__.py -> build/lib.linux-x86_64-cpython-310/bmtrain
      copying bmtrain/block_layer.py -> build/lib.linux-x86_64-cpython-310/bmtrain
      copying bmtrain/debug.py -> build/lib.linux-x86_64-cpython-310/bmtrain
      copying bmtrain/param_init.py -> build/lib.linux-x86_64-cpython-310/bmtrain
      copying bmtrain/global_var.py -> build/lib.linux-x86_64-cpython-310/bmtrain
      copying bmtrain/synchronize.py -> build/lib.linux-x86_64-cpython-310/bmtrain
      copying bmtrain/parameter.py -> build/lib.linux-x86_64-cpython-310/bmtrain
      copying bmtrain/utils.py -> build/lib.linux-x86_64-cpython-310/bmtrain
      copying bmtrain/pipe_layer.py -> build/lib.linux-x86_64-cpython-310/bmtrain
      copying bmtrain/store.py -> build/lib.linux-x86_64-cpython-310/bmtrain
      copying bmtrain/layer.py -> build/lib.linux-x86_64-cpython-310/bmtrain
      copying bmtrain/wrapper.py -> build/lib.linux-x86_64-cpython-310/bmtrain
      creating build/lib.linux-x86_64-cpython-310/bmtrain/loss
      copying bmtrain/loss/__init__.py -> build/lib.linux-x86_64-cpython-310/bmtrain/loss
      copying bmtrain/loss/cross_entropy.py -> build/lib.linux-x86_64-cpython-310/bmtrain/loss
      creating build/lib.linux-x86_64-cpython-310/bmtrain/optim
      copying bmtrain/optim/__init__.py -> build/lib.linux-x86_64-cpython-310/bmtrain/optim
      copying bmtrain/optim/optim_manager.py -> build/lib.linux-x86_64-cpython-310/bmtrain/optim
      copying bmtrain/optim/adam.py -> build/lib.linux-x86_64-cpython-310/bmtrain/optim
      copying bmtrain/optim/adam_offload.py -> build/lib.linux-x86_64-cpython-310/bmtrain/optim
      creating build/lib.linux-x86_64-cpython-310/bmtrain/benchmark
      copying bmtrain/benchmark/shape.py -> build/lib.linux-x86_64-cpython-310/bmtrain/benchmark
      copying bmtrain/benchmark/__init__.py -> build/lib.linux-x86_64-cpython-310/bmtrain/benchmark
      copying bmtrain/benchmark/send_recv.py -> build/lib.linux-x86_64-cpython-310/bmtrain/benchmark
      copying bmtrain/benchmark/utils.py -> build/lib.linux-x86_64-cpython-310/bmtrain/benchmark
      copying bmtrain/benchmark/all_gather.py -> build/lib.linux-x86_64-cpython-310/bmtrain/benchmark
      copying bmtrain/benchmark/reduce_scatter.py -> build/lib.linux-x86_64-cpython-310/bmtrain/benchmark
      creating build/lib.linux-x86_64-cpython-310/bmtrain/lr_scheduler
      copying bmtrain/lr_scheduler/linear.py -> build/lib.linux-x86_64-cpython-310/bmtrain/lr_scheduler
      copying bmtrain/lr_scheduler/__init__.py -> build/lib.linux-x86_64-cpython-310/bmtrain/lr_scheduler
      copying bmtrain/lr_scheduler/cosine.py -> build/lib.linux-x86_64-cpython-310/bmtrain/lr_scheduler
      copying bmtrain/lr_scheduler/noam.py -> build/lib.linux-x86_64-cpython-310/bmtrain/lr_scheduler
      copying bmtrain/lr_scheduler/warmup.py -> build/lib.linux-x86_64-cpython-310/bmtrain/lr_scheduler
      copying bmtrain/lr_scheduler/no_decay.py -> build/lib.linux-x86_64-cpython-310/bmtrain/lr_scheduler
      copying bmtrain/lr_scheduler/exponential.py -> build/lib.linux-x86_64-cpython-310/bmtrain/lr_scheduler
      creating build/lib.linux-x86_64-cpython-310/bmtrain/distributed
      copying bmtrain/distributed/__init__.py -> build/lib.linux-x86_64-cpython-310/bmtrain/distributed
      copying bmtrain/distributed/ops.py -> build/lib.linux-x86_64-cpython-310/bmtrain/distributed
      creating build/lib.linux-x86_64-cpython-310/bmtrain/inspect
      copying bmtrain/inspect/model.py -> build/lib.linux-x86_64-cpython-310/bmtrain/inspect
      copying bmtrain/inspect/__init__.py -> build/lib.linux-x86_64-cpython-310/bmtrain/inspect
      copying bmtrain/inspect/tensor.py -> build/lib.linux-x86_64-cpython-310/bmtrain/inspect
      copying bmtrain/inspect/format.py -> build/lib.linux-x86_64-cpython-310/bmtrain/inspect
      creating build/lib.linux-x86_64-cpython-310/bmtrain/nccl
      copying bmtrain/nccl/__init__.py -> build/lib.linux-x86_64-cpython-310/bmtrain/nccl
      copying bmtrain/nccl/enums.py -> build/lib.linux-x86_64-cpython-310/bmtrain/nccl
      running build_ext
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-b8c4nobc/bmtrain_56a2d1d4a744452aa5d4e776460000db/setup.py", line 74, in <module>
          setup(
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/setuptools/__init__.py", line 107, in setup
          return distutils.core.setup(**attrs)
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/setuptools/dist.py", line 1244, in run_command
          super().run_command(command)
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/wheel/bdist_wheel.py", line 325, in run
          self.run_command("build")
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/setuptools/dist.py", line 1244, in run_command
          super().run_command(command)
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/setuptools/_distutils/command/build.py", line 131, in run
          self.run_command(cmd_name)
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/setuptools/dist.py", line 1244, in run_command
          super().run_command(command)
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 84, in run
          _build_ext.run(self)
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
          self.build_extensions()
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 499, in build_extensions
          _check_cuda_version(compiler_name, compiler_version)
        File "/root/anaconda3/envs/CPM-Bee/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 387, in _check_cuda_version
          raise RuntimeError(CUDA_MISMATCH_MESSAGE.format(cuda_str_version, torch.version.cuda))
      RuntimeError:
      The detected CUDA version (12.1) mismatches the version that was used to compile
      PyTorch (11.8). Please make sure to use the same CUDA versions.
      
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for bmtrain

大概意思就是版本不兼容,所以 bmtrain 要怎么装?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with requirements.txt and the bmtrain setup.py referenced in the installation trace, then reproduce the reported Python, PyTorch, and CUDA combinations. Compare the dependency and build requirements against the two failures; done means documenting or enabling a supported installation path that avoids the reported version mismatch.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.