Skip to content

MarkProMaster229/ml-lab

Repository files navigation

ml-lab

папка CNN

имеет несколько экспериментальных версий

experiment1

имеет подробные комментарии для погружения в тему

experiment2

проведены тесты - влияние архитектуры на сходимость модели.
Первая попытка уменьшить вес, см. подробнее в самом файле.

experiment3

вторая попытка уменьшить вес, успех! Получен прирост к точности,
а также размер модели стал значительно меньше, подробнее описано в самом файле.

папка myKit

содержит инструменты, которые были созданы в процессе работы.

папка TestPytorch

папка Transformer

содержит экспериментальные encoder-only, а также decoder-only модели,
подробнее см. в самих папках.

Обратная связь

Если найдёте ошибки или у вас есть идеи - пишите: @VaxtaI (Telegram)

устарело -

Сборка

Перейди в директорию проекта и собери программу:

cd /home/chelovek/Документы/work/ml-lab/baseModel # свой путь

g++ -std=c++17 -g \
    -ICore -IGeneration -IModel \
    Core/main.cpp Core/Runner.cpp Core/BatchGenerator.cpp \
    Model/Transformer.cpp Model/AttentionLogits.cpp \
    -o Core/main.out

Запуск

После сборки запустити:

./Core/main.out

Структура проекта

baseModel/
│
├── Core/                  # Ядро проекта — управление пайплайном
│   ├── main.cpp           # Точка входа, запускает весь процесс
│   ├── Runner.cpp/.hpp    # Логика запуска пайплайна, контролирует последовательность действий
│   └── BatchGenerator.cpp/.hpp  # Подготовка входных тензоров: объединяет токены, маски, позиции
│
├── Generation/            # Вспомогательные инструменты для подготовки данных
│   ├── Embedding.hpp      # Генерация и обработка embedding-ов
│   ├── MaskGenerator.hpp  # Генерация масок для тензоров
│   ├── Position.hpp       # Позиционные коды для Transformer
│   ├── Tensor.hpp         # Класс тензора: хранение и базовые операции
│   ├── Tokenizer.hpp      # Токенизация входных данных
│   └── WeightGenerator.hpp # Генерация случайных весов модели (инициализация Xavier)
│
├── Model/                 # Архитектура модели
│   ├── Transformer.cpp/.hpp # Реализация Transformer
│
├── json.hpp               # Работа с JSON (чтение/запись)
├── tensor.pt              # Данные/тензоры для тестов или обучения
├── weights.pt             # Предобученные веса модели
└── test.json              # Тестовый JSON для проверки работы кода

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published