Commit b5514f29 authored by Evgeny Belyaev's avatar Evgeny Belyaev

Загрузил версию ЛР на 2025й год.

parent aef96c11
...@@ -13,28 +13,30 @@ Kодировщик использует LSTM для вычисления век ...@@ -13,28 +13,30 @@ Kодировщик использует LSTM для вычисления век
Параметры бейзлайна: Параметры бейзлайна:
| Версия | Исходный размер, байты | Размер после сжатия, байты | Коэффициент сжатия | Затраченное время, с | | Версия | Исходный размер, байты | Размер после сжатия, байты | Коэффициент сжатия | Затраченное время, с |
|:------:|:----------------------:|:--------------------------:|:------------------:|:------------------: | |:------:|:----------------------:|:--------------------------:|:------------------:|:------------------:|
| Baseline | 100000 | 47150 | 2.12 | 783 | | Baseline | 100000 | 38283 | 2.63 | 296 |
## Описание задания к лабораторной работе ## Описание задания к лабораторной работе
Улучшить код так, чтобы он: Улучшить код так, чтобы он:
- либо на том же сжатии показывал уменьшение времени кодирования и декодирования на 100%; - либо **на том же сжатии** показывал **уменьшение времени кодирования и декодирования в 3 раза**;
- либо обеспечивал улучшение коэффициента сжатия на 100% при тех же временных затратах. - либо обеспечивал **улучшение коэффициента сжатия на 30%** при **тех же временных затратах**.
Можно улучшать следующие модули: Можно улучшать следующие модули:
- Предобработка: заменять слова из предварительно созданного словаря уникальным кодом, использовать идею из Byte-Pair Encoding токенизации и т.д.; - Предобработка: заменять слова из предварительно созданного словаря уникальным кодом, использовать идею из Byte-Pair Encoding токенизации и т.д.;
- Нейронная сеть: использование другой архитектуры (GRU, Transformer и др.), изменить количество слоёв, функции активации, связи между слоями и т.д.; - Нейронная сеть: использование другой архитектуры (GRU, Transformer и др.), изменить функции активации, связи между слоями и т.д.;
- Арифметический кодер: учесть возможную память источника, оценка вероятностей и т.д. - Арифметический кодер: учесть возможную память источника, оценка вероятностей и т.д.
Требования к реализации: Требования к реализации:
- Результаты должны быть продемонстрированы на enwik5 из папки ./data/; - Результаты должны быть продемонстрированы на enwik5 из папки ./data/;
- Восстановленый после сжатия файл должен полностью совпадать с оригинальным; - Восстановленый после сжатия файл должен полностью совпадать с оригинальным;
- В результатах приложить таблицу выше, обновив значения базового решения для вашего устройства и добавив строчку с улучшенным решением. - В результатах приложить таблицу выше, **обновив значения базового решения для вашего устройства** и добавив строчку с улучшенным решением.
- Измерения времени кодирования и декодирования базовой и предложенной версии должны быть выполнены на одном и том же устройстве.
На почту eabelyaev@itmo.ru прислать отчет в виде презентации в pdf формате, который включает в себя: На почту eabelyaev@itmo.ru прислать отчёт в виде презентации в pdf формате, который включает в себя:
- ФИО студента, номер группы. - ФИО студента, номер группы.
- Описание предложенной модификации и результаты. - Описание предложенной модификации и результаты.
- Отчёт должен содержать объяснение за счёт чего получилось улучшить базовую архитектуру.
- Ссылку на репозиторий с исходным кодом проекта и инструкцию по запуску. - Ссылку на репозиторий с исходным кодом проекта и инструкцию по запуску.
## Литература ## Литература
......
...@@ -14,17 +14,17 @@ os.environ['TF_DETERMINISTIC_OPS'] = '1' ...@@ -14,17 +14,17 @@ os.environ['TF_DETERMINISTIC_OPS'] = '1'
# The batch size for training # The batch size for training
batch_size = 256 batch_size = 256
# The sequence length for training # The sequence length for training
seq_length = 15 seq_length = 16
# The number of units in each LSTM layer # The number of units in each LSTM layer
rnn_units = 400 rnn_units = 256
# The number of LSTM layers # The number of LSTM layers
num_layers = 4 num_layers = 2
# The size of the embedding layer # The size of the embedding layer
embedding_size = 1024 embedding_size = 256
# The initial learning rate for optimizer # The initial learning rate for optimizer
start_learning_rate = 0.0005 start_learning_rate = 0.005
# The final learning rate for optimizer # The final learning rate for optimizer
end_learning_rate = 0.0002 end_learning_rate = 0.001
# The mode for the program, "compress", "decompress", "both" # The mode for the program, "compress", "decompress", "both"
mode = 'both' mode = 'both'
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment