NameError: name 'LRScheduler' is not defined"
#467
by
zh-zhang1984
- opened
when I import below package, it report errors, what is the possible solution for this?
# imports
from collections import Counter
import datetime
import pickle
import subprocess
import seaborn as sns; sns.set()
from datasets import load_from_disk
from sklearn.metrics import accuracy_score, f1_score
from transformers import BertForSequenceClassification
from transformers import Trainer
from transformers.training_args import TrainingArguments
from geneformer import DataCollatorForCellClassification
{
"name": "NameError",
"message": "name 'LRScheduler' is not defined",
"stack": "---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In[10], line 13
10 from transformers import Trainer
11 from transformers.training_args import TrainingArguments
---> 13 from geneformer import DataCollatorForCellClassification
File /opt/miniconda3/envs/geneformer/lib/python3.12/site-packages/geneformer/__init__.py:2
1 from . import tokenizer
----> 2 from . import pretrainer
3 from . import collator_for_classification
4 from . import in_silico_perturber
File /opt/miniconda3/envs/geneformer/lib/python3.12/site-packages/geneformer/pretrainer.py:26
19 from transformers import (
20 BatchEncoding,
21 DataCollatorForLanguageModeling,
22 SpecialTokensMixin,
23 Trainer,
24 )
25 from transformers.file_utils import is_datasets_available, is_sagemaker_dp_enabled
---> 26 from transformers.trainer_pt_utils import (
27 DistributedLengthGroupedSampler,
28 DistributedSamplerWithLoop,
29 LengthGroupedSampler,
30 )
31 from transformers.training_args import ParallelMode
32 from transformers.utils import is_tf_available, is_torch_available, logging, to_py_obj
File /opt/miniconda3/envs/geneformer/lib/python3.12/site-packages/transformers/trainer_pt_utils.py:1368
1364 def step(self, closure=None) -> Optional[float]:
1365 pass
-> 1368 class LayerWiseDummyScheduler(LRScheduler):
1369 \"\"\"
1370 For Layer-wise optimizers such as GaLoRE optimizer, the optimization and scheduling step
1371 are already done through the post gradient hooks. Therefore
1372 the trick is to create a dummy scheduler that can take arbitrary
1373 args and kwargs and return a no-op during training.
1374 \"\"\"
1376 def __init__(self, *args, **kwargs):
NameError: name 'LRScheduler' is not defined"
}
The package versions are as follows:
# packages in environment at /opt/miniconda3/envs/geneformer:
#
# Name Version Build Channel
accumulation-tree 0.6.4 pypi_0 pypi
aiohappyeyeballs 2.4.4 pypi_0 pypi
aiohttp 3.11.11 pypi_0 pypi
aiosignal 1.3.2 pypi_0 pypi
anndata 0.11.1 pyhd8ed1ab_1 conda-forge
appnope 0.1.4 pyhd8ed1ab_1 conda-forge
array-api-compat 1.10.0 pyhd8ed1ab_0 conda-forge
asttokens 3.0.0 pyhd8ed1ab_1 conda-forge
attrs 24.3.0 pypi_0 pypi
blas 1.0 openblas
bottleneck 1.4.2 py312ha86b861_0
brotli 1.0.9 h80987f9_8
brotli-bin 1.0.9 h80987f9_8
bzip2 1.0.8 h80987f9_6
c-ares 1.34.4 h5505292_0 conda-forge
ca-certificates 2024.12.14 hf0a4a13_0 conda-forge
certifi 2024.12.14 pypi_0 pypi
cffi 1.17.1 py312h3eb5a62_0
charset-normalizer 3.4.1 pypi_0 pypi
click 8.1.8 pypi_0 pypi
comm 0.2.2 pyhd8ed1ab_1 conda-forge
contourpy 1.3.1 py312h48ca7d4_0
cycler 0.11.0 pyhd3eb1b0_0
datasets 3.2.0 pypi_0 pypi
debugpy 1.6.7 py312h313beb8_0
decorator 5.1.1 pyhd8ed1ab_1 conda-forge
dill 0.3.8 pypi_0 pypi
exceptiongroup 1.2.2 pyhd8ed1ab_1 conda-forge
executing 2.1.0 pyhd8ed1ab_1 conda-forge
expat 2.6.4 h313beb8_0
filelock 3.16.1 pypi_0 pypi
fonttools 4.51.0 py312h80987f9_0
freetype 2.12.1 h1192e45_0
frozenlist 1.5.0 pypi_0 pypi
fsspec 2024.9.0 pypi_0 pypi
geneformer 0.0.1 pypi_0 pypi
h5py 3.12.1 py312h8456320_0
hdf5 1.12.1 h05c076b_3
huggingface-hub 0.27.0 pypi_0 pypi
idna 3.10 pypi_0 pypi
importlib-metadata 8.5.0 pyha770c72_1 conda-forge
ipykernel 6.29.5 pyh57ce528_0 conda-forge
ipython 8.31.0 pyh707e725_0 conda-forge
jedi 0.19.2 pyhd8ed1ab_1 conda-forge
jinja2 3.1.4 py312hca03da5_1
joblib 1.4.2 py312hca03da5_0
jpeg 9e h80987f9_3
jupyter_client 8.6.3 pyhd8ed1ab_1 conda-forge
jupyter_core 5.7.2 pyh31011fe_1 conda-forge
kiwisolver 1.4.4 py312h313beb8_0
krb5 1.20.1 h69eda48_0 conda-forge
lcms2 2.16 he93ba84_0
lerc 4.0.0 h313beb8_0
libabseil 20240116.2 cxx17_h313beb8_0
libbrotlicommon 1.0.9 h80987f9_8
libbrotlidec 1.0.9 h80987f9_8
libbrotlienc 1.0.9 h80987f9_8
libcurl 8.11.1 hde089ae_0
libcxx 14.0.6 h848a8c0_0
libdeflate 1.22 h80987f9_0
libedit 3.1.20191231 hc8eb9b7_2 conda-forge
libev 4.33 h93a5062_2 conda-forge
libffi 3.4.4 hca03da5_1
libgfortran 5.0.0 11_3_0_hca03da5_28
libgfortran5 11.3.0 h009349e_28
libnghttp2 1.57.0 h62f6fdd_0
libopenblas 0.3.21 h269037a_0
libpng 1.6.39 h80987f9_0
libprotobuf 3.20.3 h514c7bf_0
libsodium 1.0.18 h27ca646_1 conda-forge
libssh2 1.11.1 h3e2b118_0
libtiff 4.5.1 hc9ead59_1
libuv 1.48.0 h80987f9_0
libwebp-base 1.3.2 h80987f9_1
llvm-openmp 14.0.6 hc6e5704_0
llvmlite 0.43.0 pypi_0 pypi
loompy 3.0.7 pypi_0 pypi
lz4-c 1.9.4 h313beb8_1
markupsafe 2.1.3 py312h80987f9_0
matplotlib-base 3.9.2 py312h7ef442a_1
matplotlib-inline 0.1.7 pyhd8ed1ab_1 conda-forge
mpmath 1.3.0 py312hca03da5_0
multidict 6.1.0 pypi_0 pypi
multiprocess 0.70.16 pypi_0 pypi
natsort 8.4.0 pyh29332c3_1 conda-forge
ncurses 6.4 h313beb8_0
nest-asyncio 1.6.0 pyhd8ed1ab_1 conda-forge
networkx 3.3 py312hca03da5_0
ninja 1.12.1 hca03da5_0
ninja-base 1.12.1 h48ca7d4_0
numba 0.60.0 pypi_0 pypi
numexpr 2.10.1 py312h5d9532f_0
numpy 2.0.2 pypi_0 pypi
numpy-base 1.26.4 py312he047099_0
numpy-groupies 0.11.2 pypi_0 pypi
openjpeg 2.5.2 h54b8e55_0
openssl 3.4.0 h39f12f2_0 conda-forge
packaging 24.2 pyhd8ed1ab_2 conda-forge
pandas 2.2.3 py312hcf29cfe_0
parso 0.8.4 pyhd8ed1ab_1 conda-forge
pexpect 4.9.0 pyhd8ed1ab_1 conda-forge
pickleshare 0.7.5 pyhd8ed1ab_1004 conda-forge
pillow 11.0.0 py312h84e58ab_1
pip 24.2 py312hca03da5_0
platformdirs 4.3.6 pyhd8ed1ab_1 conda-forge
prompt-toolkit 3.0.48 pyha770c72_1 conda-forge
propcache 0.2.1 pypi_0 pypi
psutil 5.9.0 py312h80987f9_0
ptyprocess 0.7.0 pyhd8ed1ab_1 conda-forge
pure_eval 0.2.3 pyhd8ed1ab_1 conda-forge
pyarrow 18.1.0 pypi_0 pypi
pycparser 2.21 pyhd3eb1b0_0
pygments 2.18.0 pyhd8ed1ab_1 conda-forge
pyparsing 3.2.0 py312hca03da5_0
python 3.12.8 h99e199e_0
python-dateutil 2.9.0.post0 pyhff2d567_1 conda-forge
python-tzdata 2023.3 pyhd3eb1b0_0
pytorch 2.2.0 gpu_mps_py312h0502254_100
pytz 2024.2 pypi_0 pypi
pyudorandom 1.0.0 pypi_0 pypi
pyyaml 6.0.2 pypi_0 pypi
pyzmq 26.2.0 py312h313beb8_0
readline 8.2 h1a28f6b_0
regex 2024.11.6 pypi_0 pypi
requests 2.32.3 pypi_0 pypi
safetensors 0.5.0 pypi_0 pypi
scikit-learn 1.5.2 py312h313beb8_0
scipy 1.14.1 py312ha409365_0
seaborn 0.13.2 py312hca03da5_0
setuptools 75.1.0 py312hca03da5_0
six 1.17.0 pyhd8ed1ab_0 conda-forge
sleef 3.5.1 h80987f9_2
sqlite 3.45.3 h80987f9_0
stack_data 0.6.3 pyhd8ed1ab_1 conda-forge
sympy 1.13.3 py312hca03da5_0
tdigest 0.5.2.2 pypi_0 pypi
threadpoolctl 3.5.0 py312h989b03a_0
tk 8.6.14 h6ba3021_0
tokenizers 0.21.0 pypi_0 pypi
tornado 6.4.2 py312h80987f9_0
tqdm 4.67.1 pypi_0 pypi
traitlets 5.14.3 pyhd8ed1ab_1 conda-forge
transformers 4.47.1 pypi_0 pypi
typing_extensions 4.12.2 pyha770c72_1 conda-forge
tzdata 2024.2 pypi_0 pypi
unicodedata2 15.1.0 py312h80987f9_0
urllib3 2.3.0 pypi_0 pypi
wcwidth 0.2.13 pyhd8ed1ab_1 conda-forge
wheel 0.44.0 py312hca03da5_0
xxhash 3.5.0 pypi_0 pypi
xz 5.4.6 h80987f9_1
yarl 1.18.3 pypi_0 pypi
zeromq 4.3.5 h313beb8_0
zipp 3.21.0 pyhd8ed1ab_1 conda-forge
zlib 1.2.13 h18a0788_1
zstd 1.5.6 hfb09047_0
Thank you for your question! It seems that this import error is from transformers. You may consider checking their repository to see if others have also had this import error and what they suggest, or try a different version.
ctheodoris
changed discussion status to
closed