new stage
This commit is contained in:
@@ -70,10 +70,36 @@ NumPy.
|
||||
|
||||
## Чтение файлов в память
|
||||
|
||||
Для чтения файла в память, я написал модуль на Си, доступный
|
||||
репозитории[2]. Здесь кратко опишу, как он работает.
|
||||
|
||||
В нем реализована функция `signature_from_filepath_by2`, которая
|
||||
получает на вход два параметра: имя файла и уровень `verbose`. `by_2`
|
||||
в названии обусловлено тем, что работа не с матрицами, а `n`-мерными
|
||||
eтензорами улучшает качество предсказания.
|
||||
|
||||
Функция `read_file` считывает файл в структуру `raw_data`, которая
|
||||
представляет собой просто последовательность байтов и размер этой
|
||||
последовательности. После этого функция `build_matrix` считывает по
|
||||
этой струтуре сигнатуру и записывает в `matrix`.
|
||||
|
||||
Далее создается объект `PyObject *result`, представляющий собой
|
||||
указатель на массив `NumPy` типа `uint32`. На его основе создается
|
||||
динамический массив `result_data`.
|
||||
|
||||
Так как `matrix` лежит в памяти последовательно (ввиду того, что
|
||||
она аллоцирована на стеке), то её можно просто скопировать в
|
||||
`result_data`. После всего этого возвращается указатель `*result`.
|
||||
|
||||
Помимо этого в коде много второстепенных действий, которые требует API
|
||||
Python для работы. Эти подробности я опустил, их можно увидеть в коде,
|
||||
все достаточно предсказуемо.
|
||||
|
||||
## Пайплайн обучения нейросети
|
||||
|
||||
## Результаты и картинки
|
||||
|
||||
## Источники
|
||||
|
||||
1. https://ru.wikipedia.org/wiki/Executable_and_Linkable_Format
|
||||
1. [https://ru.wikipedia.org/wiki/Executable_and_Linkable_Format](https://ru.wikipedia.org/wiki/Executable_and_Linkable_Format)
|
||||
2. [https://github.com/rustbas/filetype-prediction](https://github.com/rustbas/filetype-prediction)
|
||||
|
||||
Reference in New Issue
Block a user