Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
LSTMcompressor
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Evgeny Belyaev
LSTMcompressor
Commits
b5514f29
Commit
b5514f29
authored
Nov 10, 2025
by
Evgeny Belyaev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Загрузил версию ЛР на 2025й год.
parent
aef96c11
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
13 deletions
+15
-13
README.md
README.md
+9
-7
main.py
main.py
+6
-6
utils.py
utils.py
+0
-0
No files found.
README.md
View file @
b5514f29
...
@@ -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 формате, который включает в себя:
-
ФИО студента, номер группы.
-
ФИО студента, номер группы.
-
Описание предложенной модификации и результаты.
-
Описание предложенной модификации и результаты.
-
Отчёт должен содержать объяснение за счёт чего получилось улучшить базовую архитектуру.
-
Ссылку на репозиторий с исходным кодом проекта и инструкцию по запуску.
-
Ссылку на репозиторий с исходным кодом проекта и инструкцию по запуску.
## Литература
## Литература
...
...
main.py
View file @
b5514f29
...
@@ -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
=
1
5
seq_length
=
1
6
# 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.00
0
5
start_learning_rate
=
0.005
# The final learning rate for optimizer
# The final learning rate for optimizer
end_learning_rate
=
0.00
02
end_learning_rate
=
0.00
1
# The mode for the program, "compress", "decompress", "both"
# The mode for the program, "compress", "decompress", "both"
mode
=
'both'
mode
=
'both'
...
...
utils.py
deleted
100644 → 0
View file @
aef96c11
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment