Проект представляет собой учебный пример нейронной сети. Он включает в себя модули для конфигурации, контроля, обработки данных, определения структуры сети, выполнения машинного обучения и визуализации.
Выполняю построение нейронной сети!
Всего слоёв: 3
Количество классов данных: 1
Количество данных в каждом классе: 1
Количество входных данных: 784
Слой: hidden_layer_first
Данные слоя: [-0.98, -0.34, -0.99, 0.96, 0.94, -0.85, -0.99, -1.0, -0.9, 0.27, 0.99, 0.99, 0.83, 0.97, 0.98, -0.51, 0.48, -0.97, -0.26, 0.99, 0.97, 0.95, -0.96, -0.92]
Слой: hidden_layer_second
Данные слоя: [-0.99, 0.91, -0.99, 0.75, 0.39, -0.75, -1.0, -0.94, 0.95, -0.46, -0.92, 0.92, -0.94, -0.62, -0.99, -0.87, -0.99, 0.6, 0.89, -0.99, -0.61, 0.88, 0.95, -0.97]
Слой: output_layer
Данные: 0.1984202913
Интерпретация данных:
┌──────────────────────────────────────────────────────┐
│ │
│ ██████████████ │
│ ██░░░░░░░░░░██ │
│ ██░░██████████ │
│ ██░░██ │
│ ██░░██████████ │
│ ██░░░░░░░░░░██ │
│ ██████████░░██ │
│ ██░░██ │
│ ██████████░░██ │
│ ██░░░░░░░░░░██ │
│ ██████████████ │
│ │
└──────────────────────────────────────────────────────┘
Построение нейронной сети завершено!
main.py: Основной модуль для настройки, создания и обучения сети.base/base.py: Модуль для загрузки конфигурационных данных и логирования.config_files/logging.json: Файл конфигурации логирования.data/classification.py: Модуль для классификации выходных данных сети.data/data.py: Модуль работы с данными для машинного обучения.encoders/image_encoder.py: Кодирующий изображения в массивы данных скрипт.encoders/text_encoder.py: Кодирующий текст в массивы данных скрипт.learning_data/numbers.zip: Небольшой массив изображений для тестового обучения.learning_data/text.zip: Небольшой массив текстовых данных для тестового обучения.machine_learning/train.py: Модуль для выполнения основного процесса машинного обучения.machine_learning/weights.py: Модуль для обновления и сохранения весов.network/layers.py: Модуль для создания слоёв нейронной сети.network/neural_network.py: Реализующий основной класс для работы с нейронной сетью модуль.tools/support_functions.py: Содержащий вспомогательные функции модуль.tools/visualisation.py: Модуль для визуализации результатов работы нейронной сети.tools/interpretation.py: Модуль для интерпретации результатов работы нейронной сети.tests/tests.py: Модуль для тестирования различных частей проекта.
- python: >= 3.12
- numpy: >= 2.1
- pillow: >= 11.2
- Ключ класса (название каталога) данных не должен равняться нулю!
Без скрипта кодирования изображений выполните:
python main.pyДля установки скрипта кодирования изображений выполните:
cd encoders && python -m venv venv && source venv/bin/activate && pip install --upgrade pip && pip install -r requirements.txt && cd ../ && python main.pyДля запуска основного процесса выполните:
cd encoders && source venv/bin/activate && cd ../ && python main.pyПараметры обучения
-
training(default: False): Активация режима обучения нейросети. -
enable_text_encoder(default: True, True): Включение работающего с текстовыми данными модуля (В режиме обучения должны быть установлены в положение False). -
enable_image_encoder(default: False): Включение работающего с изображениями модуля. -
init_func(default: xavier): Выбор метода инициализации весов:uniform,xavier,he -
epochs(default: 1000): Количество эпох для обучения. -
learning_rate(default: 0.001): Скорость обучения. -
error_tolerance(default: 0.001): Допустимый уровень ошибки. -
regularization(default: 0.001): Параметр регуляризации. -
lasso_regularization(default: False): Использовать Lasso регуляризацию. -
ridge_regularization(default: True): Использовать Ridge регуляризацию.
Этот проект разрабатывается под лицензией MIT.
bc1qewfgtrrg2gqgtvzl5d2pr9pte685pp5n3g6scy