זוהי הפקודה cnrun שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
CNrun - סימולטור רשת נוירונים
תַקצִיר
cnrun -h | -U | -e תסריט [אוֹפְּצִיָה ...]
תיאור
CNrun הוא סימולטור רשת נוירונים, בדומה ל-NEURON או GENESIS, אך ללא אספקה
עבור תאי יחידות. הוא קורא את טופולוגיית הרשת בפורמט NeuroML כמיוצא, למשל,
על ידי neuroConstruct. סוגי היחידות נקבעים על ידי התכונה 'cell_type' ב-.nml
הגדרות.
סוגי נוירונים זמינים, לפי מחרוזת 'cell_type' המתאימה, כוללים:
· HH ו HHRrate, נוירונים הודג'קין-האקסלי מבוססי מוליכות וקצב (Traub & Miles,
1991);
· דט מפושט אך מהיר, קבוע מַפָּה נוירונים המחקים את מודל HH;
· דגים, ואן דר פול (VdP) ופשוט דופק מתנדים;
· סינפסות כמתואר ב-Rall et al, 1967 (עצרת) ו-Destexhe et al, 1994 (AB).
ניתן להגדיר פרמטרים של יחידה באמצעות a set_parm_* פקודה (ראה סקריפט לְהַלָן); ערכים יכולים להיות
מוגדר פעם אחת לפני הסימולציה, או באופן רציף או מעת לעת לפי לוח זמנים מוגדר על ידי המשתמש.
שיטת אינטגרציה של Runge-Kutta של 6-5 סדרים משמשת לחישוב משתני מצב. אלה
(פוטנציאל ממברנה E או קצב ירי מיידי R עבור נוירונים, שחרור נוירוטרנסמיטר
S עבור סינפסות) וכן זמני ספייק ניתן לרשום.
תמיכת סקריפטים ב-CNrun כוללת פקודות ליצירה ואיכלוס של מודל, הגדרה
פרמטרים עבור יחידות בודדות או קבוצות שנבחרו בהתבסס על התאמת ביטויים רגולריים. משתנים ('a =
1; b = a + 2') וביטויים אריתמטיים ('-', '+', '*', '/', '()') נתמכים.
אפשרויות
-C dir chdir ל dir לפני הריצה.
-D זרוק את כל סוגי היחידות בדגם וצא.
-e [תסריט]
לבצע תסריט. אם אפשרות זו ניתנת ללא שם קובץ (או לא ניתנת כלל),
להתחיל מתורגמן אינטראקטיבי.
-s מיון יחידות (שימושי בעיקר עם פלט מילולי).
-L[1dbxL]
לכל המאזינים:
ד דחה את הכתיבה לדיסק עד לסיום במקום כתיבה רציפה (מזרז את
סימולציה אבל אתה לא יכול לצפות בהתקדמות בשידור חי עם גנופלוט)
1 רישום רק את המשתנה הראשון (המתאים למודל HH, שבו יש יחידות
חורגים משלושת פרמטרי השער הלא מעניינים).
ב כתוב בצורה בינארית מקורית ולא ב-ASCII. זה יאיץ את הצפייה
את (עכשיו קבצי label.varx) עם gnuplot. בצע את התכנון שלך עם "בינארי
format="%lf%lf"" כדי להשיג זאת.
ניתן להגדיר אפשרויות אלו גם באמצעות פקודה האזנה_מצב (אשר ראה, להלן).
L log integrator dt.
-E לְהַכפִּיל
האזן במרווח זה (ברירת מחדל 1 msec; הגדר ל-0 כדי להאזין לכל מחזור, מה שיכול
ירידה אטית במידה ניכרת). זמין גם כפקודה להאזין_dt.
-k[l|0]
כתוב יומן דגם רחב של נוירונים מדליקים, באמצעות תוויות ('l') או מזהי יחידה ('0').
-e uint
הגדר דיוק עבור כל הפלט (ברירת מחדל 8).
-זהלְהַכפִּיל
dt_max (ברירת מחדל 0.5).
-זהלְהַכפִּיל
dt_min (ברירת מחדל 1e-05).
-ixלְהַכפִּיל
תקף dt עלייה בערך dt הנוכחי x זה (ברירת מחדל 5).
-נ.צ. השבת את התלכדות סינפסה (לביצוע השוואת ביצועים).
-v int הגדר רמת מילוליות (ברירת מחדל 1; ערכים של עד 7 הם בעלי משמעות). השתמש בשלילה
ערך כדי להציג את אחוז ההתקדמות בלבד, מוכנס בשורה ב--8 פעמים זה
ערך.
-U רשום את כל היחידות הזמינות.
-h הדפס את הסקירה הכללית של אפשרויות שורת הפקודה.
רווח הוא אופציונלי בין אות האפשרות לארגומנט עבור אפשרויות של אות אחת.
בכל האפשרויות של שתי אותיות עם טיעון, ודא שאין רווח בפנים
בין.
סקריפט
הפקודות מופרדות באמצעות נקודתיים או שורה חדשה. הערות הן שורות המתחילות ב-#. ה
הפקודות הבאות זמינות:
מודל חדש שֵׁם
צור דגם חדש בשם NAME. הדגם הקיים נמחק.
use_nml NML_FILE
טען טופולוגיית רשת מ-NML_FILE, יצירת מודל במידת הצורך, או החלפת
טופולוגיה של המודל הקיים.
merge_nml NML_FILE
מיזוג בטופולוגיה מ-NML_FILE.
add_neuron TYPE LABEL
הוסף ניורון חדש מסוג TYPE עם תווית LABEL.
add_synapse סוג מקור יעד G
חבר את הנוירון שכותרתו SOURCE לאחד שכותרתו TARGET עם סינפסה מסוג
TYPE, עם gsyn G.
סינפסות_חירש_שליחה
הסר סינפסות עם משקל אפס.
set_parm_neuron LABEL PARM VALUE
הגדר פרמטר PARM עבור קבוצה מוגדרת של נוירונים שכותרתו תואם LABEL.
set_parm_synapse SRC TGT ערך PARM
הגדר פרמטר PARM עבור סינפסות בין נוירונים שכותרתם תואמים SRC ו-TGT. ה
משקל סינפטי, כשלעצמו אינו פרמטר סינפסה, ניתן גם להגדיר בעזרת זה
פקודה: כדי לעשות זאת, השתמש ב-'gsyn' בתור PARM.
לאתחל אפס את הדגם. זמן הדגם מוחזר ל-0 ולכל היחידות יש את המצב שלהם
משתנים מאופסים לברירות מחדל במניות. כל פרמטרי יחידה שהוקצו קודם לכן ו
מקורות הנתונים המצורפים נשמרים.
reset_revert_params
אפס את הדגם. זמן הדגם מוחזר ל-0, לכל היחידות יש את משתני המצב שלהם
ופרמטרים מאופסים לברירות המחדל של המניות.
reset_state_units REGEX
אפס את היחידות כמו לעיל, תוך שמירה על זמן הדגם הנוכחי.
מראש_עד זמן
התקדמו עד TIME msec.
לקדם זמן
קדם TIME msec.
לכבות REGEX
מחק יחידות התואמות REGEX לפי תווית.
לבטל REGEX FRAC
מחק אקראית יחידות FRAC של אוכלוסייה של יחידות שנבחרו על ידי REGEX.
להתחיל_להקשיב REGEX
לגרום ליחידות תואמות להקשיב.
להפסיק_להקשיב
לגרום ליחידות תואמות להפסיק להקשיב.
להאזין_dt [ערך]
הגדר את מרווח ההאזנה ל-VALUE, או הצג את הערך הנוכחי אם לא ניתן VALUE.
האזנה_מצב [SPEC]
הדפס (אם הארגומנט מושמט) את מצב ההאזנה הנוכחי (וור אחד בלבד, נדחה
כתוב ו/או בינארי); אחרת, אפשר את המצב המתאים אם '1', 'd' או 'b'
מתרחש ב-SPEC, או השבת אותו אם כן, ואחריו מיד '-'.
שים לב שהיחידות שכבר מאזינות לא יושפעו; כדי לשנות את המצב עבור
אותם, נושא להתחיל_להקשיב עבורם לאחר הגדרת המצב החדש.
start_log_spikes REGEX
צור נוירונים תואמים לקוצים ביומן REGEX.
stop_log_spikes REGEX
צור נוירונים תואמים ל-REGEX עצירת יומן קוצים.
sxf_params עיכוב: תקופה: סיגמה
הגדר עיכוב התחלתי של פונקציית צפיפות ספייק, תקופת דגימה וסיגמה כפי שצוין.
תאר_דגם
הדפס סיכום של טופולוגיית המודל וסוגי היחידות.
show_units REGEX
הדפס פרמטרים ומצב יחידות התואמות REGEX.
מקור חדש TYPE ID ARG...
צור מקור חדש לסוג ועם מזהה כמצוין. ניתן לחבר מקורות
ליחידת פרמטרים כאמצעי להגדיר התנהגות משתנה דינמית. לִרְאוֹת
דינמי מקורות לְהַלָן.
connect_source SOURCE_ID LABEL PARM
חבר את המקור הזה לפרמטר של יחידות תואמות.
show_sources
הצג את המקורות הפעילים כרגע (מחוברים וגם לא פעילים).
Exec [תַסרִיט]
בצע סקריפט. אם SCRIPT לא צוין, התחל מתורגמן אינטראקטיבי.
מֶלֶל [רָמָה]
הגדר/הצג רמת מילוליות.
show_vars [REGEX]
הדפס משתנים התואמים REGEX, או את כל המשתנים אם REGEX הושמט.
clear_vars [REGEX]
נקה משתנים התואמים ל-REGEX, או את כולם אם REGEX הושמט.
הפסקה [לְעַכֵּב]
השהה למשך DELAY שניות אם צוין, או עד שהמשתמש ילחץ על Enter אחרת.
להפסיק צא מהמתורגמן הנוכחי אם נקרא על ידי Exec; לצאת מהתוכנית אחרת.
כאשר אתה משתמש במתורגמן באופן אינטראקטיבי, TAB יפרט השלמות בהתאם,
תלוי בהקשר.
דינמי מקורות
בנוסף לפרמטר יחידה סטטית/הקצאת משתנה עם set_parm_{נוירון,סינפסה},
ליחידות יכול להיות מקור נתונים מצורף לכל אחד מהפרמטרים או המשתנה שלהם (למרות
משתנים יוחלפו במחזור הבא).
מקורות הנתונים הם משלושה סוגים (הרביעי זמין למפתחים, שרירותי
תפקוד המשתמש של זמן, אך לא חשוף כפקודה מתורגמנית). איפה נתונים עבור א
מקור נקראים מקובץ, ערכים נקראים באמצעות אופרטור '>>' (מ-) לתוך
משתנה כפול. המקביל מקור חדש הטיעונים הם:
סרט הדבקה קובץ
קרא צמדי "ערך זמן" מ-FILE והגדר את ערך הפרמטר בהתאם.
תְקוּפָתִי קובץ
FILE צפוי להכיל, כערך המספר הראשון שנקרא על ידי scanf("%lg"), זמן
תקופה שבה הערכים הבאים מוקצים לפרמטר ברצף.
ערכים מוקצים בתחילת כל מחזור אינטגרציה.
רעש מינימום מקסימום
צור (ללא קשר לזמן) מספר אקראי המחולק באופן אחיד בתוכו
מינימום מקסימום.
בדומה לפרמטרים, ניתן להגדיר משתני מצב באופן זה; במקרה הזה,
הערכים שנקראו, יעקפו את כל מה שפעולותיה הפנימיות של היחידה יקבעו לה.
כאשר לקלטת יש פער בין זמני ההקצאה גדול מה-dt הנוכחי, ההקצאות הן
עדיין עשוי; עם זאת, זה לא חל על מקורות תקופתיים (בעיקר לביצועים
סיבות).
סינפסה התאחדות
סינפסות מאוחדות הן אלה בעלות פרמטרים זהים ובעלות אותו מקור.
התלכדות מפחיתה, לפי שיעור סטייה, את מספר הפעמים שמשתנה S מחושב מחדש
עם פרמטרים זהים לכל מחזור; בנוסף עבור סינפסות מתארחות, האינטגרציה
הווקטור מכווץ כדי להתאים לשיפור ביצועים נוסף.
התלכדות מתרחשת אוטומטית בין שתי סינפסות מאותו מקור כאשר, אחרי הכל
הקצאות פרמטרים, הם נמצאו זהים (בהתעלם מהמשקלים הסינפטיים).
לעומת זאת, כאשר המשתמש משנה פרמטר לסינפסות מתאחות אחת, זה שונה
מהערך של הפרמטר הזה באחרים, הסינפסה הזו הופכת לעצמאית.
שימו לב שהתווית של יחידות סינפסה נוצרת באופן דינמי מהתווית של המקור עם a
נקודה-פסיק ומספר המטרות הנוכחי. תוצאה נוספת של התלכדות היא זו
יכולות להיות יותר מיחידות סינפסה אחת המסומנות בצורה זהה (ולכן, באופן ייחודי לזיהוי
סינפסה, עליך לציין את המקור והיעד שלה).
אפשרות שורת הפקודה -נ.צ. יכול לשמש כדי להשבית את ההתלכדות.
השתמש ב-cnrun באינטרנט באמצעות שירותי onworks.net