Версия Numpy при использовании как tensorflow, так и pandas

#pandas #numpy #tensorflow

Вопрос:

Я занимаюсь проектом, и мне нужно использовать как tensorflow, так и pandas вместе.

Основная проблема, с которой я сталкиваюсь, связана с версией numpy. Если у меня последняя версия numpy, то tensorflow выдает ошибку: «Не удается преобразовать символьный тензор (lstm/strided_slice:0) в массив numpy. Эта ошибка может указывать на то, что вы пытаетесь передать тензор вызову NumPy, который не поддерживается»

Если я понижу numpy до 1.19.5, как советует Интернет, то импорт pandas выдаст эту ошибку: «Размер numpy.ndarray изменен, может указывать на двоичную несовместимость. ожидал 88 от заголовка c, получил 80 от pyobject»

Может кто-нибудь, пожалуйста, помочь?

Комментарии:

1. Вы используете conda или pip?

2. Настройте новый virtualenv и очистите, установив определенные версии numpy, pandas и tensorflow.

3. проблема, скорее всего, связана с понижением рейтинга numpy, а не с использованием новой сборки для всех ваших библиотек одновременно. попробуйте создать новый виртуальный env с 1.19.5. Панды и другие библиотеки устанавливаются по-разному в зависимости от установки и версии numpy, поэтому у вас могут возникнуть проблемы с заменой нашего numpy без чистой сборки. вот почему conda и другие менеджеры пакетов, которые явно обрабатывают двоичные и не связанные с python зависимости, полезны.

4. @rpanai Я использую conda, но у меня установлен pip в conda, поэтому я могу использовать как установку pip…, так и установку conda …

5. К вашему сведению, pip не очень хорошо справляется с управлением зависимостями, отличными от python, включая скомпилированные cython, C и другие языки, которые на самом деле являются частью кодовых баз numpy/scipy/pandas. поэтому, если вы устанавливаете некоторые вещи с помощью conda, а другие-с помощью pip (или особенно, если вы позже обновляете/понижаете рейтинг с помощью pip), это, вероятно, проблема.