Мультимодальное объединение для получения прогнозов по аудио и видео FI V2
Импорт необходимых инструментов
[2]:
from oceanai.modules.lab.build import Run
Сборка
[3]:
_b5 = Run(
lang = 'ru', # Язык
color_simple = '#333', # Цвет обычного текста (шестнадцатеричный код)
color_info = '#1776D2', # Цвет текста содержащего информацию (шестнадцатеричный код)
color_err = '#FF0000', # Цвет текста содержащего ошибку (шестнадцатеричный код)
color_true = '#008001', # Цвет текста содержащего положительную информацию (шестнадцатеричный код)
bold_text = True, # Жирное начертание текста
num_to_df_display = 30, # Количество строк для отображения в таблицах
text_runtime = 'Время выполнения', # Текст времени выполнения
metadata = True # Отображение информации о библиотеке
)
[2023-12-14 22:46:31] 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.0a16 Лицензия: BSD License
Получение и отображение версий установленных библиотек
_b5.df_pkgs_
- DataFrame c версиями установленных библиотек
[4]:
_b5.libs_vers(runtime = True, run = True)
Package | Version | |
---|---|---|
1 | TensorFlow | 2.15.0 |
2 | Keras | 2.15.0 |
3 | OpenCV | 4.8.1 |
4 | MediaPipe | 0.9.0 |
5 | NumPy | 1.26.2 |
6 | SciPy | 1.11.4 |
7 | Pandas | 2.1.3 |
8 | Scikit-learn | 1.3.2 |
9 | OpenSmile | 2.5.0 |
10 | Librosa | 0.10.1 |
11 | AudioRead | 3.0.1 |
12 | IPython | 8.18.1 |
13 | PyMediaInfo | 6.1.0 |
14 | Requests | 2.31.0 |
15 | JupyterLab | 4.0.9 |
16 | LIWC | 0.5.0 |
17 | Transformers | 4.36.0 |
18 | Sentencepiece | 0.1.99 |
19 | Torch | 2.0.1+cpu |
20 | Torchaudio | 2.0.2+cpu |
— Время выполнения: 0.006 сек. —
Анализ аудио информации (формирование и загрузка весов моделей)
Формирование нейросетевой архитектуры модели для получения оценок по экспертным признакам (аудио модальность)
_b5.audio_model_hc_
- Нейросетевая модель tf.keras.Model для получения оценок по экспертным признакам
[5]:
res_load_audio_model_hc = _b5.load_audio_model_hc(
show_summary = False, # Отображение сформированной нейросетевой архитектуры модели
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2023-12-14 22:46:31] Формирование нейросетевой архитектуры модели для получения оценок по экспертным признакам (аудио модальность) …
— Время выполнения: 0.322 сек. —
Загрузка весов нейросетевой модели для получения оценок по экспертным признакам (аудио модальность)
_b5.audio_model_hc_
- Нейросетевая модель tf.keras.Model для получения оценок по экспертным признакам
[6]:
# Настройки ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг
url = _b5.weights_for_big5_['audio']['fi']['hc']['sberdisk']
res_load_audio_model_weights_hc = _b5.load_audio_model_weights_hc(
url = url, # Полный путь к файлу с весами нейросетевой модели
force_reload = True, # Принудительная загрузка файла с весами нейросетевой модели из сети
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2023-12-14 22:46:31] Загрузка весов нейросетевой модели для получения оценок по экспертным признакам (аудио модальность) …
[2023-12-14 22:46:32] Загрузка файла “weights_2022-05-05_11-27-55.h5” 100.0% …
— Время выполнения: 0.277 сек. —
Формирование нейросетевой архитектуры модели для получения оценок по нейросетевым признакам (аудио модальность)
_b5.audio_model_nn_
- Нейросетевая модель tf.keras.Model для получения оценок по нейросетевым признакам
[7]:
res_load_audio_model_nn = _b5.load_audio_model_nn(
show_summary = False, # Отображение сформированной нейросетевой архитектуры модели
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2023-12-14 22:46:32] Формирование нейросетевой архитектуры для получения оценок по нейросетевым признакам (аудио модальность) …
— Время выполнения: 0.244 сек. —
Загрузка весов нейросетевой модели для получения оценок по нейросетевым признакам (аудио модальность)
_b5.audio_model_nn_
- Нейросетевая модель tf.keras.Model для получения оценок по нейросетевым признакам
[8]:
# Настройки ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг
url = _b5.weights_for_big5_['audio']['fi']['nn']['sberdisk']
res_load_audio_model_weights_nn = _b5.load_audio_model_weights_nn(
url = url, # Полный путь к файлу с весами нейросетевой модели
force_reload = False, # Принудительная загрузка файла с весами нейросетевой модели из сети
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2023-12-14 22:46:32] Загрузка весов нейросетевой модели для получения оценок по нейросетевым признакам (аудио модальность) …
[2023-12-14 22:46:32] Загрузка файла “weights_2022-05-03_07-46-14.h5”
— Время выполнения: 0.389 сек. —
Анализ видео информации (формирование и загрузка весов моделей)
Формирование нейросетевой архитектуры модели для получения оценок по экспертным признакам (видео модальность)
_b5.video_model_hc_
- Нейросетевая модель tf.keras.Model для получения оценок по экспертным признакам
[9]:
res_load_video_model_hc = _b5.load_video_model_hc(
lang = 'en',
show_summary = False, # Отображение сформированной нейросетевой архитектуры модели
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2023-12-14 22:46:32] Формирование нейросетевой архитектуры модели для получения оценок по экспертным признакам (видео модальность) …
— Время выполнения: 0.257 сек. —
Загрузка весов нейросетевой модели для получения оценок по экспертным признакам (видео модальность)
_b5.video_model_hc_
- Нейросетевая модель tf.keras.Model для получения оценок по экспертным признакам
[10]:
# Настройки ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг
url = _b5.weights_for_big5_['video']['fi']['hc']['sberdisk']
res_load_video_model_weights_hc = _b5.load_video_model_weights_hc(
url = url, # Полный путь к файлу с весами нейросетевой модели
force_reload = True, # Принудительная загрузка файла с весами нейросетевой модели из сети
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2023-12-14 22:46:32] Загрузка весов нейросетевой модели для получения оценок по экспертным признакам (видео модальность) …
[2023-12-14 22:46:33] Загрузка файла “weights_2022-08-27_18-53-35.h5” 100.0% …
— Время выполнения: 0.226 сек. —
Формирование нейросетевой архитектуры для получения нейросетевых признаков (видео модальность)
_b5.video_model_deep_fe_
- Нейросетевая модель tf.keras.Model для получения нейросетевых признаков
[11]:
res_load_video_model_deep_fe = _b5.load_video_model_deep_fe(
show_summary = False, # Отображение сформированной нейросетевой архитектуры модели
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2023-12-14 22:46:34] Формирование нейросетевой архитектуры для получения нейросетевых признаков (видео модальность) …
— Время выполнения: 0.783 сек. —
Загрузка весов нейросетевой модели для получения нейросетевых признаков (видео модальность)
_b5.video_model_deep_fe_
- Нейросетевая модель tf.keras.Model для получения нейросетевых признаков
[12]:
# Настройки ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг
url = _b5.weights_for_big5_['video']['fi']['fe']['sberdisk']
res_load_video_model_weights_deep_fe = _b5.load_video_model_weights_deep_fe(
url = url, # Полный путь к файлу с весами нейросетевой модели
force_reload = True, # Принудительная загрузка файла с весами нейросетевой модели из сети
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2023-12-14 22:46:35] Загрузка весов нейросетевой модели для получения нейросетевых признаков (видео модальность) …
[2023-12-14 22:46:40] Загрузка файла “weights_2022-11-01_12-27-07.h5” 100.0% …
— Время выполнения: 4.311 сек. —
Формирование нейросетевой архитектуры модели для получения оценок по нейросетевым признакам (видео модальность)
_b5.video_model_nn_
- Нейросетевая модель tf.keras.Model для получения оценок по нейросетевым признакам
[13]:
res_load_video_model_nn = _b5.load_video_model_nn(
show_summary = False, # Отображение сформированной нейросетевой архитектуры модели
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2023-12-14 22:46:40] Формирование нейросетевой архитектуры для получения оценок по нейросетевым признакам (видео модальность) …
— Время выполнения: 0.724 сек. —
Загрузка весов нейросетевой модели для получения оценок по нейросетевым признакам (видео модальность)
_b5.video_model_nn_
- Нейросетевая модель tf.keras.Model для получения оценок по нейросетевым признакам
[14]:
# Настройки ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг
url = _b5.weights_for_big5_['video']['fi']['nn']['sberdisk']
res_load_video_model_weights_nn = _b5.load_video_model_weights_nn(
url = url, # Полный путь к файлу с весами нейросетевой модели
force_reload = False, # Принудительная загрузка файла с весами нейросетевой модели из сети
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2023-12-14 22:46:40] Загрузка весов нейросетевой модели для получения оценок по нейросетевым признакам (видео модальность) …
[2023-12-14 22:46:42] Загрузка файла “weights_2022-03-22_16-31-48.h5”
— Время выполнения: 1.355 сек. —
Анализ мультимодальной информации (формирование, загрузка весов моделей, получение оценок персональных качеств)
Формирование нейросетевых архитектур моделей для получения результатов оценки персональных качеств (мультимодальное объединение)
_b5.av_models_b5_
- Нейросетевые модели tf.keras.Model для получения результатов оценки персональных качеств
[15]:
res_load_av_models_b5 = _b5.load_av_models_b5(
show_summary = False, # Отображение сформированной нейросетевой архитектуры модели
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2023-12-14 22:46:42] Формирование нейросетевых архитектур моделей для получения результатов оценки персональных качеств (мультимодальное объединение) …
— Время выполнения: 0.048 сек. —
Загрузка весов нейросетевых моделей для получения результатов оценки персональных качеств (мультимодальное объединение)
_b5.av_models_b5_
- Нейросетевые модели tf.keras.Model для получения результатов оценки персональных качеств
[16]:
# Настройки ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг
url_openness = _b5.weights_for_big5_['av']['fi']['b5']['openness']['sberdisk']
url_conscientiousness = _b5.weights_for_big5_['av']['fi']['b5']['conscientiousness']['sberdisk']
url_extraversion = _b5.weights_for_big5_['av']['fi']['b5']['extraversion']['sberdisk']
url_agreeableness = _b5.weights_for_big5_['av']['fi']['b5']['agreeableness']['sberdisk']
url_non_neuroticism = _b5.weights_for_big5_['av']['fi']['b5']['non_neuroticism']['sberdisk']
res_load_av_models_weights_b5 = _b5.load_av_models_weights_b5(
url_openness = url_openness, # Открытость опыту
url_conscientiousness = url_conscientiousness, # Добросовестность
url_extraversion = url_extraversion, # Экстраверсия
url_agreeableness = url_agreeableness, # Доброжелательность
url_non_neuroticism = url_non_neuroticism, # "Эмоциональная стабильность
force_reload = True, # Принудительная загрузка файла с весами нейросетевой модели из сети
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2023-12-14 22:46:47] Загрузка весов нейросетевых моделей для получения результатов оценки персональных качеств (мультимодальное объединение) …
[2023-12-14 22:46:47] Загрузка файла “weights_2022-08-28_11-14-35.h5” 100.0% … Открытость опыту
[2023-12-14 22:46:47] Загрузка файла “weights_2022-08-28_11-08-10.h5” 100.0% … Добросовестность
[2023-12-14 22:46:47] Загрузка файла “weights_2022-08-28_11-17-57.h5” 100.0% … Экстраверсия
[2023-12-14 22:46:47] Загрузка файла “weights_2022-08-28_11-25-11.h5” 100.0% … Доброжелательность
[2023-12-14 22:46:47] Загрузка файла “weights_2022-06-14_21-44-09.h5” 100.0% … Эмоциональная стабильность
— Время выполнения: 0.785 сек. —
Получение прогнозов (мультимодальное объединение)
_b5.df_files_
- DataFrame с данными
_b5.df_accuracy_
- DataFrame с результатами вычисления точности
[17]:
# Настройки ядра
_b5.path_to_dataset_ = 'E:/Databases/FirstImpressionsV2/test' # Директория набора данных
# Директории не входящие в выборку
_b5.ignore_dirs_ = []
# Названия ключей для DataFrame набора данных
_b5.keys_dataset_ = ['Path', 'Openness', 'Conscientiousness', 'Extraversion', 'Agreeableness', 'Non-Neuroticism']
_b5.ext_ = ['.mp4'] # Расширения искомых файлов
# Полный путь к файлу с верными предсказаниями для подсчета точности
url_accuracy = _b5.true_traits_['fi']['sberdisk']
_b5.get_av_union_predictions(
depth = 1, # Глубина иерархии для получения аудио и видеоданных
recursive = False, # Рекурсивный поиск данных
sr = 44100, # Частота дискретизации
window_audio = 2, # Размер окна сегмента аудио сигнала (в секундах)
step_audio = 1, # Шаг сдвига окна сегмента аудио сигнала (в секундах)
reduction_fps = 5, # Понижение кадровой частоты
window_video = 10, # Размер окна сегмента видео сигнала (в секундах)
step_video = 5, # Шаг сдвига окна сегмента видео сигнала (в секундах)
lang = 'en',
accuracy = True, # Вычисление точности
url_accuracy = url_accuracy,
logs = True, # При необходимости формировать LOG файл
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2023-12-15 01:11:04] Получение прогнозов и вычисление точности (мультимодальное объединение) …
2000 из 2000 (100.0%) … test80_25_Q4wOgixh7E.004.mp4 …
Path | Openness | Conscientiousness | Extraversion | Agreeableness | Non-Neuroticism | |
---|---|---|---|---|---|---|
ID | ||||||
1 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.554249 | 0.506548 | 0.440194 | 0.540235 | 0.48605 |
2 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.558823 | 0.442357 | 0.50397 | 0.558767 | 0.521587 |
3 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.477549 | 0.568616 | 0.333939 | 0.491873 | 0.458966 |
4 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.662656 | 0.621852 | 0.58996 | 0.599038 | 0.636035 |
5 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.645876 | 0.532378 | 0.551939 | 0.589174 | 0.552269 |
6 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.67497 | 0.666972 | 0.617604 | 0.610567 | 0.641452 |
7 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.39908 | 0.397298 | 0.335823 | 0.497966 | 0.39729 |
8 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.577705 | 0.597157 | 0.498064 | 0.640584 | 0.600152 |
9 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.543675 | 0.451197 | 0.449555 | 0.482371 | 0.415256 |
10 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.54876 | 0.51097 | 0.433856 | 0.579709 | 0.536171 |
11 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.546634 | 0.398485 | 0.443701 | 0.518107 | 0.492343 |
12 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.459302 | 0.427114 | 0.315686 | 0.495817 | 0.457954 |
13 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.309097 | 0.317028 | 0.218514 | 0.372315 | 0.241697 |
14 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.643403 | 0.509414 | 0.483608 | 0.503154 | 0.550979 |
15 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.65016 | 0.840148 | 0.535299 | 0.710939 | 0.743357 |
16 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.598313 | 0.520505 | 0.450767 | 0.486345 | 0.561532 |
17 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.571537 | 0.673989 | 0.472203 | 0.615608 | 0.621064 |
18 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.552433 | 0.568787 | 0.457108 | 0.613188 | 0.570902 |
19 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.658695 | 0.625194 | 0.634877 | 0.612277 | 0.626052 |
20 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.660076 | 0.544358 | 0.64178 | 0.604572 | 0.628259 |
21 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.543881 | 0.477881 | 0.407731 | 0.555772 | 0.499664 |
22 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.537325 | 0.46375 | 0.419255 | 0.499785 | 0.455146 |
23 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.464761 | 0.434816 | 0.346836 | 0.428429 | 0.358087 |
24 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.633951 | 0.63333 | 0.584644 | 0.615227 | 0.608006 |
25 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.4517 | 0.574346 | 0.350136 | 0.526873 | 0.468283 |
26 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.602848 | 0.592382 | 0.494679 | 0.539232 | 0.505865 |
27 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.586638 | 0.521421 | 0.485391 | 0.530296 | 0.535499 |
28 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.689552 | 0.643902 | 0.695799 | 0.646209 | 0.686243 |
29 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.583505 | 0.564313 | 0.502263 | 0.554502 | 0.539899 |
30 | E:\Databases\FirstImpressionsV2\test\test80_01... | 0.642695 | 0.588222 | 0.617706 | 0.615312 | 0.626649 |
[2023-12-15 01:11:04] Точность по отдельным персональным качествам личности человека …
Openness | Conscientiousness | Extraversion | Agreeableness | Non-Neuroticism | Mean | |
---|---|---|---|---|---|---|
Metrics | ||||||
MAE | 0.0845 | 0.0802 | 0.0793 | 0.0858 | 0.0847 | 0.0829 |
Accuracy | 0.9155 | 0.9198 | 0.9207 | 0.9142 | 0.9153 | 0.9171 |
[2023-12-15 01:11:04] Средняя средних абсолютных ошибок: 0.0829, средняя точность: 0.9171 …
Лог файлы успешно сохранены …
— Время выполнения: 8654.754 сек. —
[17]:
True