Каковы все необходимые шаги для преобразования модели графического интерфейса NetLogo для запуска безголового режима в кластере? - PullRequest
0 голосов
/ 27 мая 2018

Кроме того, чтобы избегать очистки всех в режиме без головы, нужно ли нам преобразовывать «все» переключатели и ползунки в глобальные переменные?Что еще нужно сделать, чтобы запустить большую модель NetLogo в кластере без графического интерфейса?

Я следовал этому руководству https://www.openmole.org/Netlogo+Headless.html, чтобы преобразовать мою модель, но я не знаю, как мы устанавливаем значения, еслиубираем init-глобалы в настройках без головы?Я получаю ошибку div / 0 из-за того, что не инициализировал явную глобальную переменную, выполнив точные шаги, после этого я добавил явную глобальную переменную в пространство поведения с 2 значениями, но я получил точно такие же результаты для обоих экспериментов, что неправильный.

Пространство поведения полезно для создания экспериментов, когда модель имеет много ползунков и переключателей, поскольку она предварительно заполняет новые параметры эксперимента, и нам нужно только добавить необходимые значения для каждого параметра (true-false или numericценности).Однако когда все переключатели конвертируются в явную глобальную переменную, как мы можем использовать пространство поведения?это работает так же, как неявные виджеты GUI?можем ли мы иметь явные глобальные переменные в пространстве поведения, я проверил свою модель для этого и получил точно такой же результат для всех экспериментов, что мне следует искать, чтобы решить проблему?

1 Ответ

0 голосов
/ 31 мая 2018

Как я уже сказал в комментарии, эти указания предназначены специально для OpenMOLE и практически противоположны тому, что вы хотите сделать, просто запустив BehaviorSpace без головы.

Для модели без головы вы должны оставить всеэти переключатели и ползунки, как переключатели и ползунки.Входные виджеты просто создают глобальные переменные, которые не очищаются clear-all: они прекрасно работают в режиме без головы.Конечно, их нельзя использовать, но они по-прежнему предоставляют способ задания вещей, которые не очищаются в setup, что именно то, что вы хотите.NetLogo был разработан для беспроблемного запуска нормальных моделей с графическим интерфейсом в виде экспериментов без поведения в пространстве.Действительно, даже если вы запускаете BehaviorSpace в графическом интерфейсе, он запускает безголовые версии модели в фоновом режиме, чтобы использовать преимущества многоядерных процессоров.

Таким образом, способ превратить модель графического интерфейса в безголовую модельничего не менять! Все параметров, которые вы хотите изменить в эксперименте, должны быть реализованы как виджеты ввода.setup обязательно должен позвонить clear-all.Это самый простой способ гарантировать чистые эксперименты и то, что несколько прогонов не кровоточат друг в друге.

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

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

...