Це команда cnrun, яку можна запустити у безкоштовного хостинг-провайдера OnWorks за допомогою однієї з наших безкоштовних онлайн-робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS
ПРОГРАМА:
ІМ'Я
CNrun -- симулятор нейронної мережі
СИНТАКСИС
cnrun -h | -U | -e сценарій [ВАРІАНТ ...]
ОПИС
CNrun це симулятор нейронної мережі, схожий на NEURON або GENESIS, але без надання
для блокових відсіків. Він зчитує топологію мережі у форматі NeuroML як експортовану, fi,
від neuroConstruct. Типи одиниць визначаються атрибутом cell_type у .nml
визначення.
Доступні типи нейронів за відповідним рядком 'cell_type' включають:
· HH та HHRrateнейрони Ходжкіна-Хакслі, засновані на провідності та швидкості (Traub & Miles,
1991);
· Спрощений, але швидкий, фіксований dt карта нейрони, що імітують модель HH;
· Риба, Ван дер Пол (VdP) і просто Pulse осцилятори;
· синапси, як описано в Rall та ін., 1967 (Ралл) і Destexhe та інші, 1994 (AB).
Параметри пристрою можна встановити за допомогою a set_parm_* команду (див СЦЕНАРІЇ нижче); значення можуть бути
встановлюється один раз перед симуляцією або постійно чи періодично за розкладом, визначеним користувачем.
Для обчислення змінних стану використовується метод інтеграції Рунге-Кутта 6-5 порядку. Ці
(мембранний потенціал E або миттєва швидкість запалювання R для нейронів, вивільнення нейромедіатора
S для синапсів), а також час спайків можна реєструвати.
Підтримка сценаріїв у CNrun включає команди для створення та заповнення моделі, налаштування
параметри для окремих одиниць або груп, вибраних на основі відповідності регулярних виразів. Змінні ('a =
1; b = a + 2') і підтримуються арифметичні вирази ('-', '+', '*', '/', '()' ).
ВАРІАНТИ
-C реж chdir до реж перед бігом.
-D Дамп усіх типів одиниць у моделі та вихід.
-e [сценарій]
Виконати сценарій. Якщо цей параметр задано без назви файлу (або не задано взагалі),
запустити інтерактивний інтерпретатор.
-s Сортування одиниць (здебільшого корисно з докладним виведенням).
-L[1dbxL]
Для всіх слухачів:
d Відкладіть запис на диск до завершення, а не записуйте безперервно (прискорює
моделювання, але ви не можете спостерігати за прогресом у прямому ефірі за допомогою gnuplot)
1 Зареєструйте лише першу змінну (відповідну для моделі HH, які одиниці мають у
перевищення трьох нецікавих параметрів стробування).
b Записуйте у рідній двійковій формі, а не в ASCII. Це прискорить перегляд
(тепер файли label.varx) за допомогою gnuplot. Зробіть свій графік за допомогою “binary
format="%lf%lf"” для досягнення цього.
Ці параметри також можна встановити за допомогою команди режим_прослуховування (що див. нижче).
L лог-інтегратор dt.
-E подвійний
Прослуховуйте з цим інтервалом (за замовчуванням 1 мс; установіть 0, щоб прослуховувати кожен цикл, який може
повільно, значно зменшується). Також доступний як команда listen_dt.
-k[l|0]
Запишіть модельний журнал спайкових нейронів, використовуючи мітки ('l') або ідентифікатори одиниць ('0').
-e мазь
Встановити точність для всіх виводів (за замовчуванням 8).
-iTподвійний
dt_max (за замовчуванням 0.5).
-цеподвійний
dt_min (за замовчуванням 1e-05).
-ixподвійний
Cap dt збільшується на поточне значення dt x this (за замовчуванням 5).
-nc Вимкнути об'єднання синапсів (для порівняльного аналізу).
-v Int Встановіть рівень докладності (за замовчуванням 1; значення до 7 мають значення). Використовуйте негатив
значення, щоб показати лише відсоток прогресу, з відступом у рядку -8 х це значення
value.
-U Перелічіть усі доступні одиниці.
-h Роздрукуйте огляд параметрів командного рядка.
Пробіл необов’язковий між літерою опції та аргументом для однолітерних опцій.
Проте в усіх дволітерних варіантах, які беруть аргумент, переконайтеся, що немає місця
між.
СЦЕНАРІЇ
Команди відокремлюються двокрапкою або символом нового рядка. Коментарі - це рядки, що починаються з #. The
доступні такі команди:
нова_модель ІМ'Я
Створіть нову модель під назвою NAME. Існуюча модель видалена.
use_nml NML_FILE
Завантажити топологію мережі з NML_FILE, створивши модель, якщо необхідно, або замінивши
існуюча модель».
merge_nml NML_FILE
Злиття в топології з NML_FILE.
add_neuron МІТКА ТИПУ
Додайте новий ньюрон типу TYPE з міткою LABEL.
add_synapse ТИП ДЖЕРЕЛО ЦІЛЬ G
З’єднайте нейрон з позначкою SOURCE з нейроном з позначкою TARGET за допомогою синапсу типу
TYPE, з gsyn G.
cull_deaf_synapses
Видаліть синапси з нульовою вагою.
set_parm_neuron МІТКА НОМІНАЛЬНА ВАРТІСТЬ
Установіть параметр PARM для визначеної групи нейронів, позначених відповідністю LABEL.
set_parm_synapse SRC TGT PARM ВАРТІСТЬ
Встановіть параметр PARM для синапсів між нейронами, позначеними відповідністю SRC і TGT. The
Синаптична вага, яка сама по собі не є параметром синапсу, також може бути встановлена за допомогою цього
команда: для цього використовуйте 'gsyn' як PARM.
скидання Скинути модель. Час моделі перемотується до 0, і всі одиниці мають свій стан
скидання змінних до стандартних значень. Будь-які раніше призначені параметри одиниці і
додані джерела даних збережені.
reset_revert_params
Скинути модель. Модельний час перемотується до 0, усі блоки мають свої змінні стану
і скидання параметрів до заводських значень.
reset_state_units REGEX
Скиньте одиниці, як зазначено вище, зберігаючи поточний модельний час.
advance_until ЧАС
Перейти до TIME мс.
просування ЧАС
Попередньо TIME мсек.
гасіння REGEX
Видалити одиниці, що відповідають REGEX за міткою.
десятковий REGEX FRAC
Довільне видалення одиниць FRAC із сукупності одиниць, вибраних REGEX.
почати_слухати REGEX
Змусити слухати відповідні одиниці.
stop_listen
Змусити відповідні одиниці припинити прослуховування.
listen_dt [VALUE]
Встановити інтервал прослуховування на VALUE або показати поточне значення, якщо VALUE не вказано.
режим_прослуховування [SPEC]
Вивести (якщо аргумент пропущено) поточний режим прослуховування (лише одна змінна, відкладено
запис і/або двійковий); інакше увімкніть відповідний режим, якщо '1', 'd' або 'b'
виникає в SPEC, або вимкніть його, якщо це відбувається, і одразу після нього стоїть «-».
Зверніть увагу, що ті пристрої, які вже прослуховують, не вплинуть; щоб змінити режим для
їх, вип почати_слухати для них після встановлення нового режиму.
start_log_spikes REGEX
Зробіть нейрони відповідними спайкам REGEX log.
stop_log_spikes REGEX
Зробити нейрони відповідними REGEX stop log spikes.
sxf_params DELAY:PERIOD:SIGMA
Встановіть початкову затримку функції щільності піків, період дискретизації та сигму, як зазначено.
describe_model
Надрукуйте короткий опис топології моделі та типів одиниць.
показати одиниці REGEX
Параметри друку та стан одиниць, що відповідають REGEX.
нове_джерело ТИП ID ARG ...
Створіть нове джерело типу та ідентифікатора, як зазначено. Джерела можна підключати
до одиничних параметрів як засобу для налаштування поведінки, що динамічно змінюється. Побачити
ДИНАМІКА ДЖЕРЕЛА нижче.
джерело підключення SOURCE_ID LABEL PARM
Підключіть це джерело до параметра відповідних одиниць.
show_sources
Показати поточні активні джерела (підключені та неактивні).
Exec [СЦЕНАРІЙ]
Виконайте сценарій. Якщо SCRIPT не вказано, запустіть інтерактивний інтерпретатор.
багатослівність [РІВЕНЬ]
Встановити/показати рівень докладності.
show_vars [REGEX]
Вивести змінні, що відповідають REGEX, або всі змінні, якщо REGEX пропущено.
clear_vars [REGEX]
Очистити змінні, що відповідають REGEX, або всі, якщо REGEX пропущено.
пауза [ЗАтримка]
Призупинити на DELAY секунду, якщо вказано, або доки користувач не натисне Enter, інакше.
вихід Вийти з поточного інтерпретатора, якщо він викликаний Exec; інакше вийдіть із програми.
Коли ви використовуєте інтерпретатор в інтерактивному режимі, TAB відповідним чином перераховуватиме завершення,
залежно від контексту.
ДИНАМІКА ДЖЕРЕЛА
На додаток до статичної одиниці призначення параметра/змінної з set_parm_{нейрон,синапс},
одиниці можуть мати джерело даних, приєднане до будь-якого з їхніх параметрів або змінних (навіть якщо
змінні будуть перезаписані в наступному циклі).
Джерела даних бувають трьох типів (четвертий доступний для розробників, довільний
користувальницька функція часу, але не представлена як команда інтерпретатора). Де дані для a
джерело зчитується з файлу, значення зчитуються за допомогою оператора «>>» (from ) в
подвійна змінна. Відповідний нове_джерело аргументи:
Ляпас Фото
Зчитайте пари «значення часу» з ФАЙЛУ та встановіть значення параметра відповідно.
Періодична Фото
Очікується, що FILE міститиме час як перше числове значення, яке читає scanf("%lg")
період, у якому наступні значення послідовно присвоюються параметру.
Значення призначаються на початку кожного циклу інтеграції.
шум МІН:МАКС
Генерувати (незалежно від часу) рівномірно розподілене випадкове число в межах
МІН:МАКС.
Подібно до параметрів, змінні стану також можуть бути встановлені таким чином; в цьому випадку,
зчитані значення перекриватимуть будь-які внутрішні функції блоку, призначені йому.
Якщо стрічка має розрив між часами призначення, більший за поточний dt, призначення є
все ще зроблено; це, однак, не стосується періодичних джерел (головним чином для продуктивності
причини).
СИНАПС КОАЛЕСЦІЮЮЧИЙ
Об’єднані синапси – це ті, що мають ідентичні параметри та те саме джерело.
Об’єднання зменшує кількість повторних обчислень змінної S на швидкість розбіжності
з однаковими параметрами за цикл; додатково для розміщених синапсів, інтеграція
вектор скорочується, щоб відповідати подальшому приросту продуктивності.
Зрештою, злиття відбувається автоматично між двома синапсами з одного джерела
призначення параметрів, вони виявляються ідентичними (без урахування синаптичних ваг).
І навпаки, коли користувач змінює параметр на один об’єднаний синапс, який відрізняється
від значення цього параметра в інших цей синапс стає незалежним.
Зверніть увагу, що мітка одиниць синапсу динамічно формується з мітки джерела з a
крапку з комою та поточну кількість цілей. Іншим наслідком коалесцування є те, що
може бути більше однієї одиниці синапсу, позначеної однаковими мітками (отже, унікальні для ідентифікації
синапс, потрібно вказати його джерело та ціль).
Параметр командного рядка -nc можна використовувати для вимкнення об'єднання.
Використовуйте cnrun онлайн за допомогою сервісів onworks.net