RuntimeError: Numpy недоступен (трансформеры)

По сути, я просто хочу использовать конвейер трансформеров() для классификации данных, но независимо от того, какую модель я пытаюсь использовать, он возвращает одну и ту же ошибку, заявляя, что Numpy недоступен.

Код, который я запускаю:

pipe = pipeline("text-classification", model = "AdamLucek/roberta-llama3.1405B-twitter-sentiment")   
sentiment_pipeline('Today is a great day!')
# other model i've tried: 
sentiment_pipeline = pipeline(model = "cardiffnlp/twitter-roberta-base-sentiment-latest", tokenizer = "cardiffnlp/twitter-roberta-base-sentiment-latest")
sentiment_pipeline('Today is a great day!')

Ошибка, которую я получаю:

RuntimeError                              Traceback (most recent call last)
Cell In[49], line 1
----> 1 sentiment_pipeline('Today is a great day!')

File ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\transformers\pipelines\text_classification.py:156, in TextClassificationPipeline.__call__(self, inputs, **kwargs)
    122 """
    123 Classify the text(s) given as inputs.
    124 
   (...)
    153     If `top_k` is used, one such dictionary is returned per label.
    154 """
    155 inputs = (inputs,)
--> 156 result = super().__call__(*inputs, **kwargs)
    157 # TODO try and retrieve it in a nicer way from _sanitize_parameters.
    158 _legacy = "top_k" not in kwargs

File ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\transformers\pipelines\base.py:1257, in Pipeline.__call__(self, inputs, num_workers, batch_size, *args, **kwargs)
   1249     return next(
   1250         iter(
   1251             self.get_iterator(
   (...)
   1254         )
   1255     )
   1256 else:
-> 1257     return self.run_single(inputs, preprocess_params, forward_params, postprocess_params)

File ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\transformers\pipelines\base.py:1265, in Pipeline.run_single(self, inputs, preprocess_params, forward_params, postprocess_params)
   1263 model_inputs = self.preprocess(inputs, **preprocess_params)
   1264 model_outputs = self.forward(model_inputs, **forward_params)
-> 1265 outputs = self.postprocess(model_outputs, **postprocess_params)
   1266 return outputs

File ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\transformers\pipelines\text_classification.py:208, in TextClassificationPipeline.postprocess(self, model_outputs, function_to_apply, top_k, _legacy)
    204 outputs = model_outputs["logits"][0]
    206 if self.framework == "pt":
    207     # To enable using fp16 and bf16
--> 208     outputs = outputs.float().numpy()
    209 else:
    210     outputs = outputs.numpy()

RuntimeError: Numpy is not available

Я уже пробовал просто удалить и переустановить трансформаторы и numpy, и для обеих установлены самые последние версии (и они должны быть совместимы).

У кого-нибудь есть идеи, как это решить?

Это помогает? stackoverflow.com/questions/71689095/…

Ryan 13.08.2024 03:31
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
1
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Пытаться:

pip install "numpy<2"

затем перезапустите ядро.

Я попробовал и думаю, в этом корень проблемы. Хотя, даже если в моем активном ядре установлен numpy версии 1.26.4, я получаю это предупреждение при импорте конвейера: A module that was compiled using NumPy 1.x cannot be run inNumPy 2.0.0 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.

Leo_Lighthouse 13.08.2024 10:30

@Leo_Lighthouse Это предупреждение для numpy 2.0. Вам нужно создать новую виртуальную среду и установить numpy 1.26.4, а затем попробовать использовать трансформеры.

Free Palestine 13.08.2024 11:02

Другие вопросы по теме