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

Программы на Python
Ответить
Anonymous
 Ошибка ImportError: невозможно импортировать имя «unbroadcast» из «pynsor.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


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

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

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

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

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

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