Accelerate your Hugging Face Transformers 7.6-9x. Native to Hugging Face and PyTorch.
Apache License 2.0
677
stars
64
forks
source link
Doesn't work on kaggle notebooks - ValueError: Unable to compare versions for numpy>=1.17: need=1.17 found=None. This is unusual. Consider reinstalling numpy. #23
reinstalling numpy with !pip install numpy --upgrade fixes the numpy error, but then there is an additional error
environment
kaggle notebook
t4x2 gpu
Additional details/thoughts
Maybe kaggle has specific dependency requirements that break when this install is done. Later I may try installing the dependencies allowing for any matching minor versions.
prior to reinstalling numpy, if I run !pip list , it shows as being present
The numpy error
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[6], line 3
1 import os
2 import torch
----> 3 from transformers import AutoTokenizer
4 from GPTFast.Core import gpt_fast
5 from GPTFast.Helpers import timed
File /opt/conda/lib/python3.10/site-packages/transformers/init.py:26
23 from typing import TYPE_CHECKING
25 # Check the dependencies satisfy the minimal versions required.
---> 26 from . import dependency_versions_check
27 from .utils import (
28 OptionalDependencyNotAvailable,
29 _LazyModule,
(...)
48 logging,
49 )
52 logger = logging.get_logger(name) # pylint: disable=invalid-name
File /opt/conda/lib/python3.10/site-packages/transformers/dependency_versions_check.py:57
54 if not is_accelerate_available():
55 continue # not required, check version only if installed
---> 57 require_version_core(deps[pkg])
58 else:
59 raise ValueError(f"can't find {pkg} in {deps.keys()}, check dependency_versions_table.py")
File /opt/conda/lib/python3.10/site-packages/transformers/utils/versions.py:117, in require_version_core(requirement)
115 """require_version wrapper which emits a core-specific hint on failure"""
116 hint = "Try: pip install transformers -U or pip install -e '.[dev]' if you're working with git main"
--> 117 return require_version(requirement, hint)
File /opt/conda/lib/python3.10/site-packages/transformers/utils/versions.py:111, in require_version(requirement, hint)
109 if want_ver is not None:
110 for op, want_ver in wanted.items():
--> 111 _compare_versions(op, got_ver, want_ver, requirement, pkg, hint)
File /opt/conda/lib/python3.10/site-packages/transformers/utils/versions.py:39, in _compare_versions(op, got_ver, want_ver, requirement, pkg, hint)
37 def _compare_versions(op, got_ver, want_ver, requirement, pkg, hint):
38 if got_ver is None or want_ver is None:
---> 39 raise ValueError(
40 f"Unable to compare versions for {requirement}: need={want_ver} found={got_ver}. This is unusual. Consider"
41 f" reinstalling {pkg}."
42 )
43 if not ops[op](version.parse(got_ver), version.parse(want_ver)):
44 raise ImportError(
45 f"{requirement} is required for a normal functioning of this module, but found {pkg}=={got_ver}.{hint}"
46 )
ValueError: Unable to compare versions for numpy>=1.17: need=1.17 found=None. This is unusual. Consider reinstalling numpy.
File :1006, in _find_and_loadunlocked(name, import)
File :688, in _load_unlocked(spec)
File :883, in exec_module(self, module)
File :241, in _call_with_frames_removed(f, *args, **kwds)
File /opt/conda/lib/python3.10/site-packages/transformers/models/audio_spectrogram_transformer/feature_extraction_audio_spectrogram_transformer.py:30
29 if is_speech_available():
---> 30 import torchaudio.compliance.kaldi as ta_kaldi
32 if is_torch_available():
File /opt/conda/lib/python3.10/site-packages/torch/_ops.py:933, in _Ops.load_library(self, path)
929 with dl_open_guard():
930 # Import the shared library into the process, thus running its
931 # static (global) initialization code in order to register custom
932 # operators with the JIT.
--> 933 ctypes.CDLL(path)
934 self.loaded_libraries.add(path)
File /opt/conda/lib/python3.10/ctypes/init.py:374, in CDLL.init(self, name, mode, handle, use_errno, use_last_error, winmode)
373 if handle is None:
--> 374 self._handle = _dlopen(self._name, mode)
375 else:
File /opt/conda/lib/python3.10/site-packages/GPTFast/Core/GPTFast.py:11, in gpt_fast(model_name, sample_function, max_length, cache_config, spec_dec_kwargs)
9 def gpt_fast(model_name:str, sample_function:Callable, max_length:int, cache_config:dict, spec_dec_kwargs):
10 model = load_int8(model_name)
---> 11 model = add_kv_cache(model, sample_function, max_length, cache_config, dtype=torch.float16)
12 spec_decode = False
13 if spec_dec_kwargs:
File /opt/conda/lib/python3.10/site-packages/GPTFast/Core/KVCache/KVCacheModel.py:208, in add_kv_cache(transformer, sampling_fn, max_length, cache_config, dtype)
207 def add_kv_cache(transformer:nn.Module, sampling_fn:Callable, max_length:int, cache_config:dict, dtype) -> KVCacheModel:
--> 208 model = KVCacheModel(transformer, sampling_fn, max_length, cache_config, dtype)
209 return model
File /opt/conda/lib/python3.10/site-packages/GPTFast/Core/KVCache/KVCacheModel.py:21, in KVCacheModel.init(self, model, sample_fn, max_length, cache_config, dtype)
17 self.sample = types.MethodType(sample_fn, self)
19 assert not isinstance(model, BloomForCausalLM), "Bloom models currently have an unsupported kv cache shape."
---> 21 self._model = self.add_static_cache_to_model(model, cache_config, max_length, dtype, self.device)
22 config = self._model.config
23 self._max_length = max_length
File /opt/conda/lib/python3.10/site-packages/GPTFast/Core/KVCache/KVCacheModel.py:50, in KVCacheModel.add_static_cache_to_model(cls, model, cache_config, max_generated_length, dtype, device)
48 module_forward_str_kv_cache = add_input_pos_to_func_str(module_forward_str, forward_prop_ref, "input_pos=input_pos")
49 module_forward_str_kv_cache = add_default_parameter(module_forward_str_kv_cache, "forward", "input_pos", "Optional[torch.Tensor]", None, True)
---> 50 add_str_as_func(module_with_input_pos, "forward", module_forward_str_kv_cache, imports)
52 module_with_input_pos = getattr(module_with_input_pos, prop)
54 assert isinstance(module_with_input_pos, nn.ModuleList), "Once we finish iterating through 'path_to_blocks', the property that you arrive at must be a nn.ModuleList."
File /opt/conda/lib/python3.10/site-packages/GPTFast/Helpers/Class/add_str_as_func.py:11, in add_str_as_func(obj, method_name, func_str, imports)
9 func_code = compile(complete_func_str, "", "exec")
10 namespace = {}
---> 11 exec(func_code, namespace)
13 # Extract the func from the namespace
14 my_func = namespace[method_name]
File :3
File :1073, in _handlefromlist(module, fromlist, import, recursive)
File :1075, in _handlefromlist(module, fromlist, import, recursive)
File /opt/conda/lib/python3.10/site-packages/transformers/utils/import_utils.py:1463, in _LazyModule.getattr(self, name)
1461 elif name in self._class_to_module.keys():
1462 module = self._get_module(self._class_to_module[name])
-> 1463 value = getattr(module, name)
1464 else:
1465 raise AttributeError(f"module {self.name} has no attribute {name}")
File /opt/conda/lib/python3.10/site-packages/transformers/utils/import_utils.py:1462, in _LazyModule.getattr(self, name)
1460 value = self._get_module(name)
1461 elif name in self._class_to_module.keys():
-> 1462 module = self._get_module(self._class_to_module[name])
1463 value = getattr(module, name)
1464 else:
File /opt/conda/lib/python3.10/site-packages/transformers/utils/import_utils.py:1474, in _LazyModule._get_module(self, module_name)
1472 return importlib.import_module("." + module_name, self.name)
1473 except Exception as e:
-> 1474 raise RuntimeError(
1475 f"Failed to import {self.name}.{module_name} because of the following error (look up to see its"
1476 f" traceback):\n{e}"
1477 ) from e
RuntimeError: Failed to import transformers.models.audio_spectrogram_transformer.feature_extraction_audio_spectrogram_transformer because of the following error (look up to see its traceback):
/opt/conda/lib/python3.10/site-packages/torchaudio/lib/libtorchaudio.so: undefined symbol: _ZNK5torch8autograd4Node4nameB5cxx11Ev
to reproduce
pip install gpt-fast
!pip install numpy --upgrade
fixes the numpy error, but then there is an additional errorenvironment
Additional details/thoughts
The numpy error
File /opt/conda/lib/python3.10/site-packages/transformers/init.py:26 23 from typing import TYPE_CHECKING 25 # Check the dependencies satisfy the minimal versions required. ---> 26 from . import dependency_versions_check 27 from .utils import ( 28 OptionalDependencyNotAvailable, 29 _LazyModule, (...) 48 logging, 49 ) 52 logger = logging.get_logger(name) # pylint: disable=invalid-name
File /opt/conda/lib/python3.10/site-packages/transformers/dependency_versions_check.py:57 54 if not is_accelerate_available(): 55 continue # not required, check version only if installed ---> 57 require_version_core(deps[pkg]) 58 else: 59 raise ValueError(f"can't find {pkg} in {deps.keys()}, check dependency_versions_table.py")
File /opt/conda/lib/python3.10/site-packages/transformers/utils/versions.py:117, in require_version_core(requirement) 115 """require_version wrapper which emits a core-specific hint on failure""" 116 hint = "Try:
pip install transformers -U
orpip install -e '.[dev]'
if you're working with git main" --> 117 return require_version(requirement, hint)File /opt/conda/lib/python3.10/site-packages/transformers/utils/versions.py:111, in require_version(requirement, hint) 109 if want_ver is not None: 110 for op, want_ver in wanted.items(): --> 111 _compare_versions(op, got_ver, want_ver, requirement, pkg, hint)
File /opt/conda/lib/python3.10/site-packages/transformers/utils/versions.py:39, in _compare_versions(op, got_ver, want_ver, requirement, pkg, hint) 37 def _compare_versions(op, got_ver, want_ver, requirement, pkg, hint): 38 if got_ver is None or want_ver is None: ---> 39 raise ValueError( 40 f"Unable to compare versions for {requirement}: need={want_ver} found={got_ver}. This is unusual. Consider" 41 f" reinstalling {pkg}." 42 ) 43 if not ops[op](version.parse(got_ver), version.parse(want_ver)): 44 raise ImportError( 45 f"{requirement} is required for a normal functioning of this module, but found {pkg}=={got_ver}.{hint}" 46 )
ValueError: Unable to compare versions for numpy>=1.17: need=1.17 found=None. This is unusual. Consider reinstalling numpy.
OSError Traceback (most recent call last) File /opt/conda/lib/python3.10/site-packages/transformers/utils/import_utils.py:1472, in _LazyModule._get_module(self, module_name) 1471 try: -> 1472 return importlib.import_module("." + module_name, self.name) 1473 except Exception as e:
File /opt/conda/lib/python3.10/importlib/init.py:126, in import_module(name, package) 125 level += 1 --> 126 return _bootstrap._gcd_import(name[level:], package, level)
File:1050, in _gcd_import(name, package, level)
File:1027, in _find_andload(name, import)
File:1006, in _find_and_loadunlocked(name, import)
File:688, in _load_unlocked(spec)
File:883, in exec_module(self, module)
File:241, in _call_with_frames_removed(f, *args, **kwds)
File /opt/conda/lib/python3.10/site-packages/transformers/models/audio_spectrogram_transformer/feature_extraction_audio_spectrogram_transformer.py:30 29 if is_speech_available(): ---> 30 import torchaudio.compliance.kaldi as ta_kaldi 32 if is_torch_available():
File /opt/conda/lib/python3.10/site-packages/torchaudio/init.py:1 ----> 1 from . import ( # noqa: F401 2 _extension, 3 compliance, 4 datasets, 5 functional, 6 io, 7 kaldi_io, 8 models, 9 pipelines, 10 sox_effects, 11 transforms, 12 utils, 13 ) 14 from ._backend.common import AudioMetaData # noqa
File /opt/conda/lib/python3.10/site-packages/torchaudio/_extension/init.py:45 44 if _IS_TORCHAUDIO_EXT_AVAILABLE: ---> 45 _load_lib("libtorchaudio") 47 import torchaudio.lib._torchaudio # noqa
File /opt/conda/lib/python3.10/site-packages/torchaudio/_extension/utils.py:64, in _load_lib(lib) 63 return False ---> 64 torch.ops.load_library(path) 65 torch.classes.load_library(path)
File /opt/conda/lib/python3.10/site-packages/torch/_ops.py:933, in _Ops.load_library(self, path) 929 with dl_open_guard(): 930 # Import the shared library into the process, thus running its 931 # static (global) initialization code in order to register custom 932 # operators with the JIT. --> 933 ctypes.CDLL(path) 934 self.loaded_libraries.add(path)
File /opt/conda/lib/python3.10/ctypes/init.py:374, in CDLL.init(self, name, mode, handle, use_errno, use_last_error, winmode) 373 if handle is None: --> 374 self._handle = _dlopen(self._name, mode) 375 else:
OSError: /opt/conda/lib/python3.10/site-packages/torchaudio/lib/libtorchaudio.so: undefined symbol: _ZNK5torch8autograd4Node4nameB5cxx11Ev
The above exception was the direct cause of the following exception:
RuntimeError Traceback (most recent call last) Cell In[10], line 77 44 MAX_TOKENS=50 46 cache_config = { 47 "model_config": { 48 "path_to_blocks": ["transformer", "h"], (...) 74 "from torch import nn"] 75 } ---> 77 gpt_fast_model = gpt_fast(model_name, sample_function=argmax, max_length=60, cache_config=cache_config, draft_model_name=draft_model_name) 78 gpt_fast_model.to(device) 80 fast_compile_times = []
File /opt/conda/lib/python3.10/site-packages/GPTFast/Core/GPTFast.py:11, in gpt_fast(model_name, sample_function, max_length, cache_config, spec_dec_kwargs) 9 def gpt_fast(model_name:str, sample_function:Callable, max_length:int, cache_config:dict, spec_dec_kwargs): 10 model = load_int8(model_name) ---> 11 model = add_kv_cache(model, sample_function, max_length, cache_config, dtype=torch.float16) 12 spec_decode = False 13 if spec_dec_kwargs:
File /opt/conda/lib/python3.10/site-packages/GPTFast/Core/KVCache/KVCacheModel.py:208, in add_kv_cache(transformer, sampling_fn, max_length, cache_config, dtype) 207 def add_kv_cache(transformer:nn.Module, sampling_fn:Callable, max_length:int, cache_config:dict, dtype) -> KVCacheModel: --> 208 model = KVCacheModel(transformer, sampling_fn, max_length, cache_config, dtype) 209 return model
File /opt/conda/lib/python3.10/site-packages/GPTFast/Core/KVCache/KVCacheModel.py:21, in KVCacheModel.init(self, model, sample_fn, max_length, cache_config, dtype) 17 self.sample = types.MethodType(sample_fn, self) 19 assert not isinstance(model, BloomForCausalLM), "Bloom models currently have an unsupported kv cache shape." ---> 21 self._model = self.add_static_cache_to_model(model, cache_config, max_length, dtype, self.device) 22 config = self._model.config 23 self._max_length = max_length
File /opt/conda/lib/python3.10/site-packages/GPTFast/Core/KVCache/KVCacheModel.py:50, in KVCacheModel.add_static_cache_to_model(cls, model, cache_config, max_generated_length, dtype, device) 48 module_forward_str_kv_cache = add_input_pos_to_func_str(module_forward_str, forward_prop_ref, "input_pos=input_pos") 49 module_forward_str_kv_cache = add_default_parameter(module_forward_str_kv_cache, "forward", "input_pos", "Optional[torch.Tensor]", None, True) ---> 50 add_str_as_func(module_with_input_pos, "forward", module_forward_str_kv_cache, imports) 52 module_with_input_pos = getattr(module_with_input_pos, prop) 54 assert isinstance(module_with_input_pos, nn.ModuleList), "Once we finish iterating through 'path_to_blocks', the property that you arrive at must be a nn.ModuleList."
File /opt/conda/lib/python3.10/site-packages/GPTFast/Helpers/Class/add_str_as_func.py:11, in add_str_as_func(obj, method_name, func_str, imports) 9 func_code = compile(complete_func_str, "", "exec")
10 namespace = {}
---> 11 exec(func_code, namespace)
13 # Extract the func from the namespace
14 my_func = namespace[method_name]
File:3
File:1073, in _handlefromlist(module, fromlist, import, recursive)
File:1075, in _handlefromlist(module, fromlist, import, recursive)
File /opt/conda/lib/python3.10/site-packages/transformers/utils/import_utils.py:1463, in _LazyModule.getattr(self, name) 1461 elif name in self._class_to_module.keys(): 1462 module = self._get_module(self._class_to_module[name]) -> 1463 value = getattr(module, name) 1464 else: 1465 raise AttributeError(f"module {self.name} has no attribute {name}")
File /opt/conda/lib/python3.10/site-packages/transformers/utils/import_utils.py:1462, in _LazyModule.getattr(self, name) 1460 value = self._get_module(name) 1461 elif name in self._class_to_module.keys(): -> 1462 module = self._get_module(self._class_to_module[name]) 1463 value = getattr(module, name) 1464 else:
File /opt/conda/lib/python3.10/site-packages/transformers/utils/import_utils.py:1474, in _LazyModule._get_module(self, module_name) 1472 return importlib.import_module("." + module_name, self.name) 1473 except Exception as e: -> 1474 raise RuntimeError( 1475 f"Failed to import {self.name}.{module_name} because of the following error (look up to see its" 1476 f" traceback):\n{e}" 1477 ) from e
RuntimeError: Failed to import transformers.models.audio_spectrogram_transformer.feature_extraction_audio_spectrogram_transformer because of the following error (look up to see its traceback): /opt/conda/lib/python3.10/site-packages/torchaudio/lib/libtorchaudio.so: undefined symbol: _ZNK5torch8autograd4Node4nameB5cxx11Ev