Структурные модели самоподобных сетей
Исходный код

Вопросы и ошибки

Не импортируется regnets #

Проверьте, что пакет установлен в окружении, которым запускается Python:

bash
python --version
python -m pip show regnets

Нужен Python 3.13+. Корень импортов — regnets: from regnets.topology import Topology. Импорты from topology ... и from rn ... не поддерживаются. import regnets as rn создаёт только локальное сокращение имени.

Импорт вычислительного модуля требует PyTorch #

Для regnets.modular и regnets.kernels установите дополнительную зависимость по инструкции установки. Топологии, JSON, графы и рисунки работают без PyTorch. Если установленный PyTorch не загружается, библиотека сохраняет исходную ошибку.

Не совпадает форма входа #

Число входных контактов доступно как net.n_inputs. Без in_size используйте вещественный тензор [..., N]; с in_size=k — [..., N, k]. Значение in_size=1 всё равно требует последнего измерения. Размеры соседних out_size и in_size должны совпадать. См. правила векторных контактов.

Остаточная связь отклонена #

Тождественный обход требует p[m] == g[m] и равных размеров вектора на входе и выходе слоя. Для изменения размеров используйте Residual(project=True). Обход сохраняет перегруппировку контактов топологии; он не делает всю сеть тождественным преобразованием.

JSON отклоняется или даёт неожиданную схему #

Проверьте версию 1, длины массивов p/g, положительные целые размерности и состав слов. true не является допустимым целым кодом или размерностью. Имя — подпись: файл с именем «Гуда» может содержать другие слова. При dual=true загруженный spec.topology уже преобразован; повторный вызов .dual() вернёт исходную модель. Правила: формат JSON.

Визуализатор или рисунок слишком большой #

В браузере уменьшите диапазон слоёв. В Python граф ограничен 60 000 элементами. Для PNG дополнительно действует предел 40 миллионов пикселей и 65535 пикселей по стороне: уменьшите dpi или выберите SVG. SVG также подчиняется пределу элементов графа. Обработчик сообщает об ошибке, сохраняя исходный JSON.

Не загружается контрольная точка #

Создайте модель с той же топологией, ядрами, shared, остаточными связями и эффективными размерами контактов. _extra_state проверяет совместимость; strict=False не отменяет эту проверку. Прежние имена внутренних классов и старый формат конфигурации могут быть несовместимы. Для версии alpha сохраняйте версию пакета и код создания модели вместе с весами.

Как описать воспроизводимую проблему #

В репозитории проекта приложите версию Python и Regnets, минимальный пример, ожидаемый результат и полный текст ошибки. Для модели укажите PyTorch, форму входа и конфигурацию слоёв; для визуализатора — браузер, режим, диапазон и JSON топологии. Данные обучения и веса не нужны, если ошибка воспроизводится без них.

Исходники раздела: docs/troubleshooting.md