Sigmora
Робочі процеси

Нейромережа з нуля на Python, крок за кроком

03
Налагодження тренування

Налагодьте скрипт тренування, який завершується з помилкою

Ваш Python-файл має тренувати невелику мережу, але він зупиняється з помилкою або виводить незрозумілі числа. Sigmora відкриває файл, знаходить важливі рядки, запускає команду тренування через Shell і показує реальний вивід у картці, щоб ви бачили, що сталося, а не вгадували. Почніть з одного файлу. Агент не тренує мережу сам, бо це робить ваш код, і це може зайняти стільки часу, скільки потрібно. Цикл короткий: прочитати, запустити, порівняти, змінити. Ви обираєте папку, ви обираєте режим і ви приймаєте зміни. Використовуйте лише код, дані та комп’ютери, якими ви володієте або маєте право використовувати, і робіть кожен експеримент достатньо малим для повторення.

01

Відкрийте папку

Оберіть робочу папку, яка містить ваш скрипт тренування, файл конфігурації та журнали. Інструменти з файлами працюють у цій папці, а list_dir показує, що всередині неї. Зберігайте дозволені дані в тому ж місці, щоб усі шляхи у вашому скрипті залишалися короткими. Інструменти з файлами використовують цю папку.

02

Запитайте на читання

Запитайте Sigmora прочитати скрипт тренування та пояснити шари, функцію втрат та цикл. read_file та grep цитують рядки, про які йдеться, щоб ви могли перевірити пояснення проти свого коду. Режим Plan only нічого не змінює. Запитайте знову, якщо блок досі незрозумілий.

03

Запустіть команду

Вкажіть вашу команду тренування та оберіть режим. Shell запускає її у Windows, у WSL або через SSH на вашому власному сервері, а картка показує реальний вивід та код виходу. Python має бути встановлено там, де запускається команда. Тренування може тривати довго на вашому обладнанні.

04

Перевірте результат

Розгорніть картку та прочитайте надруковану помилку або значення втрат. Код виходу 0 лише означає, що скрипт завершився без помилки, тому оцінюйте числа самостійно, на валідаційних даних, які модель ще не бачила, та записуйте те, що ви побачили. Потім вирішіть, яку невелику зміну зробити далі.

Приклад: один нейрон вивчає вентиль AND на чистому Python

perceptron_and.py
# AND gate: one neuron (perceptron) learns the table
rows = [((0,0),0), ((0,1),0), ((1,0),0), ((1,1),1)]
w = [0.0, 0.0]
b = 0.0
rate = 0.1
for epoch in range(20):
    for x, target in rows:
        total = w[0] * x[0] + w[1] * x[1] + b
        out = 1 if total > 0 else 0
        err = target - out
        w[0] += rate * err * x[0]
        w[1] += rate * err * x[1]
        b += rate * err
print("weights:", w, "bias:", b)

Цей файл тренує один нейрон для вивчення логічного вентилю AND із коефіцієнтом навчання та коротким циклом оновлення ваг, потім виводить ваги та зміщення. Він використовує чистий Python, без бібліотек та випадкових чисел, тому кожен запуск дає однаковий результат. Запустіть його через Shell, змініть кількість епох і запустіть знову, щоб побачити, що зміниться у надрукованих вагах.

Прохід: відстеження експерименту з нейромережею на Python

Прочитайте код тренування

Перш ніж щось змінити, Sigmora читає. read_file відкриває ваш скрипт тренування, list_dir показує папку з даними, а grep знаходить рядки, що визначають шари, функцію втрат та цикл. Ви бачите текст файлу в картці, тому можете порівняти розміри шарів із розмірністю ваших даних. Агент нічого не змінює на цьому етапі. Моделі нейромереж для логічних вентилів, такі як файл AND вище, є класичним першим вправом, і той самий крок читання підходить для нейромережі з нуля на Python, яку ви написали минулого місяця і вже забули. Запитайте будь-який блок простими словами або перейдіть у режим Plan only, якщо хочете письмове пояснення без дій. Читайте кожне пояснення поруч із кодом і перевіряйте, чи воно відповідає тому, що ви написали.

Запустіть команду тренування

Оберіть Auto-run для запуску, якому ви довіряєте, або Ask first, якщо хочете затвердити дії, що щось змінюють. Shell запускає вашу команду тренування, наприклад python perceptron_and.py, у середовищі, яке ви обрали, а картка показує реальний вивід та код виходу. Розгорніть картку, щоб прочитати повний журнал вашого скрипта з нейромережею на Python рядок за рядком. Тренування може тривати стільки, скільки потрібно, і Sigmora не прискорює його. Коли функція втрат не збігається в нейромережі, журнал — це те, де ви це бачите першим. Дивіться на числа, а не лише на код виходу, бо код виходу 0 означає лише те, що скрипт завершився. Потім вирішіть, чи потрібна зміна в коді, і запитайте diff лише якщо вона потрібна.

Виправте помилку розмірності або повільне зменшення втрат

edit_file змінює скрипт і показує diff. У режимі Ask first нічого не записується, доки ви не приймете diff, тоді як Auto-run застосовує зміну миттєво. Помилка розмірності зазвичай означає, що дані не відповідають першому шару, тому виправлення часто складається з одного числа. Функція втрат, яка майже не змінюється, може вказувати на коефіцієнт навчання, на мітки, які не збігаються з даними, або на модель, яка ще не може переобучити маленький пакет. Спробуйте спочатку цей маленький пакет. Переобучення та недообучення — це різні проблеми, тому дивіться на функцію втрат тренування та валідації, перш ніж щось велике змінити. Створення нейромережі для шахів — це більший проєкт, проте він починається так само. Після редагування запустіть команду знову через Shell і порівняйте нові числа зі старими.

Зафіксуйте результати у CSV-файл

Для порівняння запусків вам потрібні числа у файлі. write_file створює CSV-файл у вашій робочій папці, або append_file додає один рядок за епоху, а read_file знову завантажує його, щоб агент міг розмістити 2 запуски поруч. Sigmora не аналізує дані за вас; вона зберігає числа та показує їх, а ви вирішуєте, що вони означають. Відокремте валідаційні дані від тренувальних і залишайте тестовий набір недоторканим до кінця. Режим Plan only може записати наступний експеримент як план без запуску чогось. Коли ви готові, переключіть режим і дозвольте агенту виконати його. Перед тим як зберегти результат, відкрийте CSV-файл і перевірте, чи рядки збігаються з тим, що надрукувала картка, і чи кожен стовпець має мітку.

Sigmora для Windows

Спробуйте робочий процес на своєму проєкті

Завантажити Sigmora ↗