ThilinaRajapakse/simpletransformers

"ModuleNotFound" error for simpletransformers.classification

schonlau opened this issue · 2 comments

Describe the bug
The line
from simpletransformers.classification import ClassificationModel, ClassificationArgs
gives a ModuleNotFound error

To Reproduce
Steps to reproduce the behavior:
!pip install simpletransformers
from simpletransformers.classification import ClassificationModel, ClassificationArgs

(These two lines are
the full script)

Expected behavior
I didn't expect an error

Screenshots
Error message for the second line of the code above:

ModuleNotFoundError Traceback (most recent call last)
Cell In[2], line 1
----> 1 from simpletransformers.classification import ClassificationModel, ClassificationArgs

File ~\anaconda3\lib\site-packages\simpletransformers\classification_init_.py:1
----> 1 from simpletransformers.classification.classification_model import ClassificationModel
2 from simpletransformers.classification.multi_label_classification_model import (
3 MultiLabelClassificationModel,
4 )
5 from simpletransformers.classification.multi_modal_classification_model import (
6 MultiModalClassificationModel,
7 )

File ~\anaconda3\lib\site-packages\simpletransformers\classification\classification_model.py:121
48 from transformers import (
49 AlbertConfig,
50 AlbertTokenizer,
(...)
117 XLNetForSequenceClassification,
118 )
119 from transformers.convert_graph_to_onnx import convert, quantize
--> 121 from simpletransformers.classification.classification_utils import (
122 InputExample,
123 LazyClassificationDataset,
124 ClassificationDataset,
125 convert_examples_to_features,
126 load_hf_dataset,
127 flatten_results,
128 )
129 from simpletransformers.config.global_args import global_args
130 from simpletransformers.config.model_args import ClassificationArgs

File ~\anaconda3\lib\site-packages\simpletransformers\classification\classification_utils.py:40
37 from sklearn.metrics import f1_score, matthews_corrcoef
39 from torch.utils.data import Dataset
---> 40 from datasets import load_dataset
41 from datasets import Dataset as HFDataset
42 from tqdm.auto import tqdm

File ~\anaconda3\lib\site-packages\datasets_init_.py:45
42 del pyarrow
43 del version
---> 45 from .arrow_dataset import Dataset
46 from .arrow_reader import ReadInstruction
47 from .builder import ArrowBasedBuilder, BeamBasedBuilder, BuilderConfig, DatasetBuilder, GeneratorBasedBuilder

File ~\anaconda3\lib\site-packages\datasets\arrow_dataset.py:63
60 from tqdm.auto import tqdm
62 from . import config
---> 63 from .arrow_reader import ArrowReader
64 from .arrow_writer import ArrowWriter, OptimizedTypedSequence
65 from .download.download_config import DownloadConfig

File ~\anaconda3\lib\site-packages\datasets\arrow_reader.py:29
26 import pyarrow as pa
27 import pyarrow.parquet as pq
---> 29 from .download.download_config import DownloadConfig
30 from .naming import _split_re, filename_for_dataset_split
31 from .table import InMemoryTable, MemoryMappedTable, Table, concat_tables

File ~\anaconda3\lib\site-packages\datasets\download_init_.py:9
1 all = [
2 "DownloadConfig",
3 "DownloadManager",
4 "DownloadMode",
5 "StreamingDownloadManager",
6 ]
8 from .download_config import DownloadConfig
----> 9 from .download_manager import DownloadManager, DownloadMode
10 from .streaming_download_manager import StreamingDownloadManager

File ~\anaconda3\lib\site-packages\datasets\download\download_manager.py:32
30 from ..utils.info_utils import get_size_checksum_dict
31 from ..utils.logging import get_logger, is_progress_bar_enabled
---> 32 from ..utils.py_utils import NestedDataStructure, map_nested, size_str
33 from .download_config import DownloadConfig
36 logger = get_logger(name)

File ~\anaconda3\lib\site-packages\datasets\utils\py_utils.py:35
32 from typing import Any, Callable, Dict, List, Optional, Tuple, Union
33 from urllib.parse import urlparse
---> 35 import dill
36 import numpy as np
37 from packaging import version

ModuleNotFoundError: No module named 'dill'

However,
!pip install dill
is fine:
Requirement already satisfied: dill in c:\users\matthias_uni\anaconda3\lib\site-packages (0.3.5.1)

!pip show simpletransformers
gives
Name: simpletransformers
Version: 0.63.9

Desktop (please complete the following information):

  • OS WINDOWS laptop

Additional context

  1. This used a run fine a few months ago.
  2. I am not a python expert. I have tried everything I could think of (googling this issue, restarting the computer, finding a minimal example, !pip install dill, making sure simpletransformer is installed).

Try using a virtual environment to isolate your packages dependecies, I tried your reproducing steps in a virtual env in addition to pip install torch, and it worked fine.

Try following these steps, if you want to run you code in a virtual env:

pip install virtualenv 
virtualenv venv
venv/Scripts/activate
pip install simpletransfomers
pip install torch

And run the script again, it should work ;)

Thank you for your response.
I reinstalled conda and created a new virtual environment, and then it (eventually) worked.