Ошибка ImportError: невозможно импортировать имя «unbroadcast» из «pytensor.tensor.shape» при импорте pymcPython

Программы на Python
Ответить
Anonymous
 Ошибка ImportError: невозможно импортировать имя «unbroadcast» из «pytensor.tensor.shape» при импорте pymc

Сообщение Anonymous »

Это ошибка, которую я получил сегодня при импорте pymc, который я только что обновил. До обновления все работало нормально, но в любом случае ошибка возникает, потому что pymc\variational\opvi.py пытается импортировать «unbroadcast» из pytensor\tensor\shape, но функция «unbroadcast» не существует! Я исправил это следующим образом: сначала я прокомментировал строку импорта, затем изменил следующую строку (строка 1105 в opvi.py):

Код: Выделить всё

initial = unbroadcast(initial, *unbroadcast_axes)
кому:

Код: Выделить всё

for ax in unbroadcast_axes:
initial = pt.Rebroadcast((ax, False))(initial)
При этом pymc, кажется, работает нормально. Тем не менее, я опубликовал это как на случай, если другие столкнутся с той же проблемой, так и для того, чтобы спросить, действительно ли это исправление правильное, потому что это исправление, созданное ИИ, которому я не доверяю. Кроме того, у меня нет абсолютно никакого опыта работы с pymc, и я только начинаю изучать pymc.
У меня pymc версии 5.23.0, pytensor версии 2.31.7, это произошло сегодня, когда я установил pymc-extras, и я использую Mamba в качестве менеджера пакетов и программирую на VScode.
Редактировать: если попробую, еще одна странность для импорта pymc_extras происходит следующее:
AttributeError: модуль 'pymc' не имеет атрибута 'distributions'
Поскольку pymc_extras\distributions\discrete.py имеет следующее в строке 109:

Код: Выделить всё

class GeneralizedPoisson(pm.distributions.Discrete):
Так получилось, что в файлах pymc есть папка с именем дистрибутивы, которая содержит файл с именем дистрибутив.py, в котором определен дискретный класс (строка 633), но все же, заменив приведенное выше на pm.distribution
Редактировать 2: игнорировать редактирование, просто похоже, что этот конкретный блокнот вёл себя странно, я скопировал что-то в другой блокнот, и это не дало этого ошибка.

Подробнее здесь: https://stackoverflow.com/questions/798 ... shape-when
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»