{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Формирование нейросетевой архитектуры модели и загрузка ее весов для получения признаков / оценок на базе нейросетевых признаков (аудио модальность)\n", "\n", "
\n", "\n", "> - `_b5.audio_model_nn_` - Нейросетевая модель **nn.Module** для получения признаков / оценок на базе нейросетевых признаков" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "nbsphinx": "hidden", "tags": [] }, "outputs": [], "source": [ "import os # Взаимодействие с файловой системой\n", "import sys # Доступ к некоторым переменным и функциям Python\n", "\n", "PATH_TO_SOURCE = os.path.abspath(os.path.dirname(globals()['_dh'][0]))\n", "PATH_TO_ROOT = os.path.join(PATH_TO_SOURCE, '..', '..', '..')\n", "\n", "sys.path.insert(0, os.path.abspath(PATH_TO_ROOT))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Импорт необходимых инструментов" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from oceanai.modules.lab.build import Run" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Сборка" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "**[2024-10-08 20:30:16] OCEANAI - персональные качества личности человека:**
    Авторы:
        Рюмина Елена [ryumina_ev@mail.ru]
        Рюмин Дмитрий [dl_03.03.1991@mail.ru]
        Карпов Алексей [karpov@iias.spb.su]
    Сопровождающие:
        Рюмина Елена [ryumina_ev@mail.ru]
        Рюмин Дмитрий [dl_03.03.1991@mail.ru]
    Версия: 1.0.0a40
    Лицензия: BSD License

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "_b5 = Run(\n", " lang = 'ru', # Язык\n", " color_simple = '#333', # Цвет обычного текста (шестнадцатеричный код)\n", " color_info = '#1776D2', # Цвет текста содержащего информацию (шестнадцатеричный код)\n", " color_err = '#FF0000', # Цвет текста содержащего ошибку (шестнадцатеричный код)\n", " color_true = '#008001', # Цвет текста содержащего положительную информацию (шестнадцатеричный код)\n", " bold_text = True, # Жирное начертание текста\n", " num_to_df_display = 30, # Количество строк для отображения в таблицах\n", " text_runtime = 'Время выполнения', # Текст времени выполнения\n", " metadata = True # Отображение информации о библиотеке\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Формирование нейросетевой архитектуры модели" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "**[2024-10-08 20:30:17] Формирование нейросетевой архитектуры для получения оценок по нейросетевым признакам (аудио модальность) ...** " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**--- Время выполнения: 1.072 сек. ---**" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "res_load_audio_model_nn = _b5.load_audio_model_nn(\n", " show_summary = False, # Отображение сформированной нейросетевой архитектуры модели\n", " out = True, # Отображение\n", " runtime = True, # Подсчет времени выполнения\n", " run = True # Блокировка выполнения\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Загрузка весов нейросетевой модели" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "**[2024-10-08 20:30:18] Загрузка весов нейросетевой модели для получения оценок по нейросетевым признакам (аудио модальность) ...** " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**[2024-10-08 20:30:22] Загрузка файла \"weights_2022-05-03_07-46-14.pth\" 100.0% ...** " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**--- Время выполнения: 4.371 сек. ---**" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Настройки ядра\n", "_b5.path_to_save_ = './models' # Директория для сохранения файла\n", "_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг\n", "\n", "url = _b5.weights_for_big5_['audio']['fi']['nn']['googledisk']\n", "\n", "res_load_audio_model_weights_nn = _b5.load_audio_model_weights_nn(\n", " url = url, # Полный путь к файлу с весами нейросетевой модели\n", " force_reload = True, # Принудительная загрузка файла с весами нейросетевой модели из сети\n", " out = True, # Отображение\n", " runtime = True, # Подсчет времени выполнения\n", " run = True # Блокировка выполнения\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Отображение сформированной нейросетевой архитектуры модели" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "audio_model_nn(\n", " (vgg): VGG(\n", " (features): Sequential(\n", " (0): Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", " (1): ReLU(inplace=True)\n", " (2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", " (3): ReLU(inplace=True)\n", " (4): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n", " (5): Conv2d(64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", " (6): ReLU(inplace=True)\n", " (7): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", " (8): ReLU(inplace=True)\n", " (9): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n", " (10): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", " (11): ReLU(inplace=True)\n", " (12): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", " (13): ReLU(inplace=True)\n", " (14): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", " (15): ReLU(inplace=True)\n", " (16): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n", " (17): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", " (18): ReLU(inplace=True)\n", " (19): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", " (20): ReLU(inplace=True)\n", " (21): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", " (22): ReLU(inplace=True)\n", " (23): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n", " (24): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", " (25): ReLU(inplace=True)\n", " (26): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", " (27): ReLU(inplace=True)\n", " (28): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", " (29): ReLU(inplace=True)\n", " (30): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n", " )\n", " (avgpool): AdaptiveAvgPool2d(output_size=(7, 7))\n", " (classifier): Identity()\n", " )\n", " (flatten): Flatten(start_dim=1, end_dim=-1)\n", " (fc1): Linear(in_features=25088, out_features=512, bias=True)\n", " (relu): ReLU()\n", " (dropout): Dropout(p=0.5, inplace=False)\n", " (fc2): Linear(in_features=512, out_features=256, bias=True)\n", " (fc3): Linear(in_features=256, out_features=5, bias=True)\n", ")" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "_b5.audio_model_nn_" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.13" } }, "nbformat": 4, "nbformat_minor": 4 }