some addings

This commit is contained in:
Basyrov Rustam
2025-05-29 21:04:48 +03:00
parent 9f012896d8
commit d04ae45f10

View File

@@ -120,10 +120,37 @@ Python для работы. Эти подробности я опустил, и
3. На выходе будет столько нейронов, сколько типов файлов нужно будет
предсказать.
Для для задания `loss`-функции и оптимизатора:
```python
loss_fn = nn.CrossEntropyLoss()
optimizer = t.optim.SGD(model.parameters(), lr=1e-3)
```
Цикл обучения в данном случае состоял из 250 эпох.
Пайплайн обучения можно будет найти в репозитории
[проекта](https://github.com/rustbas/filetype-prediction), вместе с
инструкцией по воспроизведению результатов (кроме того факта, что
файлы различных типов нужно будет скачать самому).
## Результаты и картинки
Усреденные сигнатуры различных типов файлов можно увидеть ниже.
![](./assets/type-pred/heatmaps.png)
Также, показатели обучения:
![](./assets/type-pred/stats.png)
## Выводы
По итогу, можно сказать, что в некоторых случаях, *сигнатура* файла
является неплохим предиктором его типа. Гипотетически, это можно
использовать для того, чтобы восстанавливать частично испорченные
файлы, так сигнатура может сохраниться.
## Источники
1. [https://ru.wikipedia.org/wiki/Executable_and_Linkable_Format](https://ru.wikipedia.org/wiki/Executable_and_Linkable_Format)