open-compass / open-compass/opencompass

[Bug] ds1000数据集eval阶段报错

Open
#1,359 1 comment 0 reactions 1 assignee View on GitHub

@MaiziXiao is already working on this.

Since Jul 24, 2024.

Dominant language
Python
Stars
7.5k
Forks
869
Avg merge
17h 52m
Merged PRs (30d)
13

Description

先决条件
问题类型

我正在使用官方支持的任务/模型/数据集进行评估。

环境

{'CUDA available': True,
'CUDA_HOME': '/usr/local/cuda',
'GCC': 'gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0',
'GPU 0,1,2,3,4,5,6,7': 'Tesla V100-PCIE-32GB',
'MMEngine': '0.10.4',
'MUSA available': False,
'NVCC': 'Cuda compilation tools, release 12.1, V12.1.66',
'OpenCV': '4.10.0',
'PyTorch': '2.3.1+cu118',
'PyTorch compiling details': 'PyTorch built with:\n'
' - GCC 9.3\n'
' - C++ Version: 201703\n'
' - Intel(R) oneAPI Math Kernel Library Version '
'2022.2-Product Build 20220804 for Intel(R) 64 '
'architecture applications\n'
' - Intel(R) MKL-DNN v3.3.6 (Git Hash '
'86e6af5974177e513fd3fee58425e1063e7f1361)\n'
' - OpenMP 201511 (a.k.a. OpenMP 4.5)\n'
' - LAPACK is enabled (usually provided by '
'MKL)\n'
' - NNPACK is enabled\n'
' - CPU capability usage: AVX512\n'
' - CUDA Runtime 11.8\n'
' - NVCC architecture flags: '
'-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80;-gencode;arch=compute_86,code=sm_86;-gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_90,code=sm_90\n'
' - CuDNN 8.7\n'
' - Magma 2.6.1\n'
' - Build settings: BLAS_INFO=mkl, '
'BUILD_TYPE=Release, CUDA_VERSION=11.8, '
'CUDNN_VERSION=8.7.0, '
'CXX_COMPILER=/opt/rh/devtoolset-9/root/usr/bin/c++, '
'CXX_FLAGS= -D_GLIBCXX_USE_CXX11_ABI=0 '
'-fabi-version=11 -fvisibility-inlines-hidden '
'-DUSE_PTHREADPOOL -DNDEBUG -DUSE_KINETO '
'-DLIBKINETO_NOROCTRACER -DUSE_FBGEMM '
'-DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK '
'-DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE '
'-O2 -fPIC -Wall -Wextra -Werror=return-type '
'-Werror=non-virtual-dtor -Werror=bool-operation '
'-Wnarrowing -Wno-missing-field-initializers '
'-Wno-type-limits -Wno-array-bounds '
'-Wno-unknown-pragmas -Wno-unused-parameter '
'-Wno-unused-function -Wno-unused-result '
'-Wno-strict-overflow -Wno-strict-aliasing '
'-Wno-stringop-overflow -Wsuggest-override '
'-Wno-psabi -Wno-error=pedantic '
'-Wno-error=old-style-cast -Wno-missing-braces '
'-fdiagnostics-color=always -faligned-new '
'-Wno-unused-but-set-variable '
'-Wno-maybe-uninitialized -fno-math-errno '
'-fno-trapping-math -Werror=format '
'-Wno-stringop-overflow, LAPACK_INFO=mkl, '
'PERF_WITH_AVX=1, PERF_WITH_AVX2=1, '
'PERF_WITH_AVX512=1, TORCH_VERSION=2.3.1, '
'USE_CUDA=ON, USE_CUDNN=ON, USE_CUSPARSELT=1, '
'USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, '
'USE_GLOG=OFF, USE_GLOO=ON, USE_MKL=ON, '
'USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=1, '
'USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF, '
'USE_ROCM_KERNEL_ASSERT=OFF, \n',
'Python': '3.10.14 (main, May 6 2024, 19:42:50) [GCC 11.2.0]',
'TorchVision': '0.18.1+cu118',
'numpy_random_seed': 2147483648,
'opencompass': '0.2.6+bb0a37d',
'sys.platform': 'linux'}

重现问题 - 代码/配置示例

CUDA_VISIBLE_DEVICES=3 python run.py --datasets ds1000_gen_cbc84f
--hf-type base
--hf-path path_to_Qwen1.5-0.5B
--tokenizer-path path_to_Qwen1.5-0.5B
--tokenizer-kwargs padding_side='left' truncation='left' trust_remote_code=True
--model-kwargs device_map='auto'
--max-seq-len 2048
--max-out-len 100
--min-out-len 100
--batch-size 4
--hf-num-gpus 1

重现问题 - 命令或脚本

CUDA_VISIBLE_DEVICES=3 python run.py --datasets ds1000_gen_cbc84f
--hf-type base
--hf-path path_to_Qwen1.5-0.5B
--tokenizer-path path_to_Qwen1.5-0.5B
--tokenizer-kwargs padding_side='left' truncation='left' trust_remote_code=True
--model-kwargs device_map='auto'
--max-seq-len 2048
--max-out-len 100
--min-out-len 100
--batch-size 4
--hf-num-gpus 1

重现问题 - 错误信息

concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
File "/root/anaconda3/envs/opencompass/lib/python3.10/concurrent/futures/process.py", line 246, in _process_worker
r = call_item.fn(*call_item.args, **call_item.kwargs)
File "/root/anaconda3/envs/opencompass/lib/python3.10/concurrent/futures/process.py", line 205, in _process_chunk
return [fn(*args) for args in chunk]
File "/root/anaconda3/envs/opencompass/lib/python3.10/concurrent/futures/process.py", line 205, in
return [fn(*args) for args in chunk]
File "/home/baymax/opencompass/opencompass/datasets/ds1000.py", line 234, in score_single
test_module = import_source_file(tempdir_name / 'test_code.py',
File "/home/baymax/opencompass/opencompass/datasets/ds1000.py", line 342, in import_source_file
spec.loader.exec_module(module)
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
File "/tmp/tmp66d5d5xt/test_code.py", line 3, in
ModuleNotFoundError: No module named 'parser'
"""

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

Traceback (most recent call last):
File "/home/baymax/opencompass/opencompass/tasks/openicl_eval.py", line 368, in
inferencer.run()
File "/home/baymax/opencompass/opencompass/tasks/openicl_eval.py", line 112, in run
self._score()
File "/home/baymax/opencompass/opencompass/tasks/openicl_eval.py", line 223, in _score
result = icl_evaluator.score(**preds)
File "/home/baymax/opencompass/opencompass/datasets/ds1000.py", line 273, in score
list(executor.map(self.score_single, predictions, references)))
File "/root/anaconda3/envs/opencompass/lib/python3.10/concurrent/futures/process.py", line 575, in _chain_from_iterable_of_lists
for element in iterable:
File "/root/anaconda3/envs/opencompass/lib/python3.10/concurrent/futures/_base.py", line 621, in result_iterator
yield _result_or_cancel(fs.pop())
File "/root/anaconda3/envs/opencompass/lib/python3.10/concurrent/futures/_base.py", line 319, in _result_or_cancel
return fut.result(timeout)
File "/root/anaconda3/envs/opencompass/lib/python3.10/concurrent/futures/_base.py", line 451, in result
return self.__get_result()
File "/root/anaconda3/envs/opencompass/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
raise self._exception
ModuleNotFoundError: No module named 'parser'

其他信息
  1. 使用pip install -e .来安装的环境

  2. launch OpenICLInfer[Qwen1.5-0.5B_hf/ds1000_Pandas,Qwen1.5-0.5B_hf/ds1000_Numpy,Qwen1.5-0.5B_hf/ds1000_Tensorflow,Qwen1.5-0.5B_hf/ds1000_Scipy,Qwen1.5-0.5B_hf/ds1000_Sklearn,Qwen1.5-0.5B_hf/ds1000_Pytorch,Qwen1.5-0.5B_hf/ds1000_Matplotlib] on GPU 3 阶段是正常的

  3. launch OpenICLEval[Qwen1.5-0.5B_hf/ds1000_Matplotlib] on CPU 的时候报错

  4. ds1000_Pandas、ds1000_Numpy、ds1000_Scipy、ds1000_Sklearn 都是同样的错误,其他的几个是没有问题的
    dataset version metric mode Qwen1.5-0.5B_hf
    ds1000_Pandas - - - -
    ds1000_Numpy - - - -
    ds1000_Tensorflow 353ae7 accuracy gen 0.00
    ds1000_Scipy - - - -
    ds1000_Sklearn - - - -
    ds1000_Pytorch 353ae7 accuracy gen 0.00
    ds1000_Matplotlib 353ae7 accuracy gen 0.05

  5. 请问这个错误和python版本有关系吗?

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.