Мультимодальное объединение информации

class oceanai.modules.lab.prediction.PredictionMessages(lang: str = 'ru', color_simple: str = '#666', color_info: str = '#1776D2', color_err: str = '#FF0000', color_true: str = '#008001', bold_text: bool = True, text_runtime: str = '', num_to_df_display: int = 30)[исходный код]

Базовые классы: Audio, Video, Text

Класс для сообщений

Параметры:
class oceanai.modules.lab.prediction.Prediction(lang: str = 'ru', color_simple: str = '#666', color_info: str = '#1776D2', color_err: str = '#FF0000', color_true: str = '#008001', bold_text: bool = True, text_runtime: str = '', num_to_df_display: int = 30)[исходный код]

Базовые классы: PredictionMessages

Класс для мультимодального объединения информации

Параметры:
__concat_pred_av(pred_hc_audio: ndarray, pred_nn_audio: ndarray, pred_hc_video: ndarray, pred_nn_video: ndarray, out: bool = True) List[ndarray | None]

Конкатенация оценок по экспертным и нейросетевым признакам (мультимодальная)

Примечание

private (приватный метод)

Параметры:
  • pred_hc_audio (np.ndarray) – Оценки по экспертным признакам (аудио модальность)

  • pred_nn_audio (np.ndarray) – Оценки по нейросетевым признакам (аудио модальность)

  • pred_hc_video (np.ndarray) – Оценки по экспертным признакам (видео модальность)

  • pred_nn_video (np.ndarray) – Оценки по нейросетевым признакам (видео модальность)

  • out (bool) – Отображение

Результат:

Конкатенированные оценки по экспертным и нейросетевым признакам

Тип результата:

List[Optional[np.ndarray]]

Примеры

Верно – 1 –

In [1]:
 1import numpy as np
 2from oceanai.modules.lab.prediction import Prediction
 3
 4pred = Prediction()
 5
 6arr_hc_audio = np.array([
 7    [0.64113516, 0.6217892, 0.54451424, 0.6144415, 0.59334993],
 8    [0.6652424, 0.63606125, 0.572305, 0.63169795, 0.612515]
 9])
10
11arr_nn_audio = np.array([
12    [0.56030345, 0.7488746, 0.44648764, 0.59893465, 0.5701077],
13    [0.5900006, 0.7652722, 0.4795154, 0.6409055, 0.6088242]
14])
15arr_hc_video = np.array([
16    [0.67113516, 0.6517892, 0.59451424, 0.6344415, 0.53334993],
17    [0.6852424, 0.62606125, 0.562305, 0.67169795, 0.672515]
18])
19
20arr_nn_video = np.array([
21    [0.58030345, 0.7788746, 0.47648764, 0.53893465, 0.5901077],
22    [0.5100006, 0.7452722, 0.4495154, 0.6909055, 0.6488242]
23])
24
25pred._Prediction__concat_pred_av(
26    pred_hc_audio = arr_hc_audio,
27    pred_nn_audio = arr_nn_audio,
28    pred_hc_video = arr_hc_video,
29    pred_nn_video = arr_nn_video,
30    out = True
31)
__load_av_model_b5(show_summary: bool = False, out: bool = True) Module | None

Формирование нейросетевой архитектуры модели для получения результата оценки персонального качества

Примечание

private (приватный метод)

Параметры:
  • show_summary (bool) – Отображение сформированной нейросетевой архитектуры модели

  • out (bool) – Отображение

Результат:

None если неверные типы или значения аргументов, в обратном случае нейросетевая модель nn.Module для получения результата оценки персонального качества

Тип результата:

Optional[nn.Module]

Примеры

Верно – 1 –

In [1]:
1from oceanai.modules.lab.prediction import Prediction
2
3pred = Prediction()
4
5pred._Prediction__load_av_model_b5(
6    show_summary = True, out = True
7)
[1]:
 1Model: "model"
 2_________________________________________________________________
 3Layer (type)                Output Shape              Param #
 4=================================================================
 5input_1 (InputLayer)        [(None, 64)]              0
 6
 7dense_1 (Dense)             (None, 1)                 65
 8
 9activ_1 (Activation)        (None, 1)                 0
10
11=================================================================
12Total params: 65
13Trainable params: 65
14Non-trainable params: 0
15_________________________________________________________________
16<tf.keras.Model at 0x147892ee0>

Ошибка – 1 –

In [2]:
1from oceanai.modules.lab.prediction import Prediction
2
3pred = Prediction()
4
5pred._Prediction__load_av_model_b5(
6    show_summary = True, out = []
7)
[3]:
1[2022-10-17 10:53:03] Неверные типы или значения аргументов в "Prediction.__load_av_model_b5" ...
__load_avt_model_b5(show_summary: bool = False, out: bool = True) Module | None

Формирование нейросетевой архитектуры модели для получения оценок персональных качеств

Примечание

private (приватный метод)

Параметры:
  • show_summary (bool) – Отображение сформированной нейросетевой архитектуры модели

  • out (bool) – Отображение

Результат:

None если неверные типы или значения аргументов, в обратном случае нейросетевая модель nn.Module для получения оценок персональных качеств

Тип результата:

Optional[nn.Module]

__load_model_weights(url: str, force_reload: bool = True, info_text: str = '', out: bool = True, runtime: bool = True, run: bool = True) bool

Загрузка весов нейросетевой модели

Примечание

private (приватный метод)

Параметры:
  • url (str) – Полный путь к файлу с весами нейросетевой модели

  • force_reload (bool) – Принудительная загрузка файла с весами нейросетевой модели из сети

  • info_text (str) – Текст для информационного сообщения

  • out (bool) – Отображение

  • runtime (bool) – Подсчет времени выполнения

  • run (bool) – Блокировка выполнения

Результат:

True если веса нейросетевой модели загружены, в обратном случае False

Тип результата:

bool

__norm_pred(pred_data: ndarray, len_nn: int = 16, out: bool = True) ndarray

Нормализация оценок по экспертным и нейросетевым признакам (мультимодальная)

Примечание

private (приватный метод)

Параметры:
  • pred_data (np.ndarray) – Оценки

  • len_nn (int) – Максимальный размер вектора оценок

  • out (bool) – Отображение

Результат:

Нормализованные оценки по экспертным и нейросетевым признакам (мультимодальная)

Тип результата:

np.ndarray

Примеры

Верно – 1 –

In [1]:
 1import numpy as np
 2from oceanai.modules.lab.prediction import Prediction
 3
 4pred = Prediction()
 5
 6arr = np.array([
 7    [0.64113516, 0.6217892, 0.54451424, 0.6144415, 0.59334993],
 8    [0.6652424, 0.63606125, 0.572305, 0.63169795, 0.612515]
 9])
10
11pred._Prediction__norm_pred(
12    pred_data = arr,
13    len_nn = 4,
14    out = True
15)
[1]:
1array([
2    [0.64113516, 0.6217892 , 0.54451424, 0.6144415 , 0.59334993],
3    [0.6652424 , 0.63606125, 0.572305  , 0.63169795, 0.612515],
4    [0.65318878, 0.62892523, 0.55840962, 0.62306972, 0.60293247],
5    [0.65318878, 0.62892523, 0.55840962, 0.62306972, 0.60293247]
6])

Ошибка – 1 –

In [2]:
 1import numpy as np
 2from oceanai.modules.lab.prediction import Prediction
 3
 4pred = Prediction()
 5
 6arr = np.array([])
 7
 8pred._Prediction__norm_pred(
 9    pred_data = arr,
10    len_nn = 4,
11    out = True
12)
[3]:
1[2022-10-20 22:03:17] Неверные типы или значения аргументов в "Prediction.__norm_pred" ...
2
3array([], dtype=float64)
property av_models_b5_: Dict[str, Module | None]

Получение нейросетевых моделей nn.Module для получения результатов оценки персональных качеств

Результат:

Словарь с нейросетевыми моделями nn.Module

Тип результата:

Dict

Примеры

Верно – 1 –

In [1]:
 1from oceanai.modules.lab.prediction import Prediction
 2
 3pred = Prediction()
 4
 5pred.load_av_models_b5(
 6    show_summary = False, out = True,
 7    runtime = True, run = True
 8)
 9
10pred.av_models_b5_
[1]:
 1[2022-12-08 15:21:22] Формирование нейросетевых архитектур моделей для получения результатов оценки персональных качеств (мультимодальное объединение) ...
 2
 3--- Время выполнения: 0.305 сек. ---
 4
 5{
 6    'openness': <tf.keras.Model at 0x14eee5790>,
 7    'conscientiousness': <tf.keras.Model at 0x14f2d9d00>,
 8    'extraversion': <tf.keras.Model at 0x14f2fb190>,
 9    'agreeableness': <tf.keras.Model at 0x14f2c7fd0>,
10    'non_neuroticism': <tf.keras.Model at 0x14f2ef940>
11}

Ошибка – 1 –

In [2]:
1from oceanai.modules.lab.prediction import Prediction
2
3pred = Prediction()
4
5pred.av_models_b5_
[2]:
1{
2    'openness': None,
3    'conscientiousness': None,
4    'extraversion': None,
5    'agreeableness': None,
6    'non_neuroticism': None
7}
property avt_model_b5_: Module | None

Получение нейросетевой модели nn.Module для получения оценок персональных качеств

Результат:

Нейроаетевая модель nn.Module

Тип результата:

Dict

get_av_union_predictions(depth: int = 1, recursive: bool = False, sr: int = 44100, window_audio: int | float = 2.0, step_audio: int | float = 1.0, reduction_fps: int = 5, window_video: int = 10, step_video: int = 5, lang: str = 'ru', accuracy: bool = True, url_accuracy: str = '', logs: bool = True, out: bool = True, runtime: bool = True, run: bool = True) bool[исходный код]

Получения прогнозов по аудио и видео (мультимодальное объединение)

Параметры:
  • depth (int) – Глубина иерархии для получения данных

  • recursive (bool) – Рекурсивный поиск данных

  • sr (int) – Частота дискретизации

  • window_audio (Union[int, float]) – Размер окна сегмента аудио сигнала (в секундах)

  • step_audio (Union[int, float]) – Шаг сдвига окна сегмента аудио сигнала (в секундах)

  • reduction_fps (int) – Понижение кадровой частоты

  • window_video (int) – Размер окна сегмента видео сигнала (в кадрах)

  • step_video (int) – Шаг сдвига окна сегмента видео сигнала (в кадрах)

  • lang (str) – Язык

  • accuracy (bool) – Вычисление точности

  • url_accuracy (str) – Полный путь к файлу с верными предсказаниями для подсчета точности

  • logs (bool) – При необходимости формировать LOG файл

  • out (bool) – Отображение

  • runtime (bool) – Подсчет времени выполнения

  • run (bool) – Блокировка выполнения

Результат:

True если прогнозы успешно получены, в обратном случае False

Тип результата:

bool

Пример

get_avt_predictions(depth: int = 1, recursive: bool = False, sr: int = 44100, window_audio: int | float = 2.0, step_audio: int | float = 1.0, reduction_fps: int = 5, window_video: int = 10, step_video: int = 5, asr: bool = False, lang: str = 'ru', accuracy=True, url_accuracy: str = '', logs: bool = True, out: bool = True, runtime: bool = True, run: bool = True) bool[исходный код]

Получения прогнозов по аудио, видео и тексту (мультимодальное объединение)

Параметры:
  • depth (int) – Глубина иерархии для получения данных

  • recursive (bool) – Рекурсивный поиск данных

  • sr (int) – Частота дискретизации

  • window_audio (Union[int, float]) – Размер окна сегмента аудио сигнала (в секундах)

  • step_audio (Union[int, float]) – Шаг сдвига окна сегмента аудио сигнала (в секундах)

  • reduction_fps (int) – Понижение кадровой частоты

  • window_video (int) – Размер окна сегмента видео сигнала (в кадрах)

  • step_video (int) – Шаг сдвига окна сегмента видео сигнала (в кадрах)

  • asr (bool) – Автоматическое распознавание речи

  • lang (str) – Язык

  • accuracy (bool) – Вычисление точности

  • url_accuracy (str) – Полный путь к файлу с верными предсказаниями для подсчета точности

  • logs (bool) – При необходимости формировать LOG файл

  • out (bool) – Отображение

  • runtime (bool) – Подсчет времени выполнения

  • run (bool) – Блокировка выполнения

Результат:

True если прогнозы успешно получены, в обратном случае False

Тип результата:

bool

get_avt_predictions_gradio(paths: list[str] = [], depth: int = 1, recursive: bool = False, sr: int = 44100, window_audio: int | float = 2.0, step_audio: int | float = 1.0, reduction_fps: int = 5, window_video: int = 10, step_video: int = 5, asr: bool = False, lang: str = 'ru', accuracy=True, url_accuracy: str = '', logs: bool = True, out: bool = True, runtime: bool = True, run: bool = True) bool[исходный код]

Получения прогнозов по аудио, видео и тексту (мультимодальное объединение)

Параметры:
  • depth (int) – Глубина иерархии для получения данных

  • recursive (bool) – Рекурсивный поиск данных

  • sr (int) – Частота дискретизации

  • window_audio (Union[int, float]) – Размер окна сегмента аудио сигнала (в секундах)

  • step_audio (Union[int, float]) – Шаг сдвига окна сегмента аудио сигнала (в секундах)

  • reduction_fps (int) – Понижение кадровой частоты

  • window_video (int) – Размер окна сегмента видео сигнала (в кадрах)

  • step_video (int) – Шаг сдвига окна сегмента видео сигнала (в кадрах)

  • asr (bool) – Автоматическое распознавание речи

  • lang (str) – Язык

  • accuracy (bool) – Вычисление точности

  • url_accuracy (str) – Полный путь к файлу с верными предсказаниями для подсчета точности

  • logs (bool) – При необходимости формировать LOG файл

  • out (bool) – Отображение

  • runtime (bool) – Подсчет времени выполнения

  • run (bool) – Блокировка выполнения

  • paths (list[str])

Результат:

True если прогнозы успешно получены, в обратном случае False

Тип результата:

bool

load_av_models_b5(show_summary: bool = False, out: bool = True, runtime: bool = True, run: bool = True) bool[исходный код]

Формирование нейросетевых архитектур моделей для получения результатов оценки персональных качеств

Параметры:
  • show_summary (bool) – Отображение последней сформированной нейросетевой архитектуры моделей

  • out (bool) – Отображение

  • runtime (bool) – Подсчет времени выполнения

  • run (bool) – Блокировка выполнения

Результат:

True если нейросетевые архитектуры модели сформированы, в обратном случае False

Тип результата:

bool

Примеры

Верно – 1 –

In [1]:
1from oceanai.modules.lab.prediction import Prediction
2
3pred = Prediction()
4
5pred.load_av_models_b5(
6    show_summary = True, out = True,
7    runtime = True, run = True
8)
[1]:
 1[2022-12-08 15:19:30] Формирование нейросетевых архитектур моделей для получения результатов оценки персональных качеств (мультимодальное объединение) ...
 2
 3Model: "model_4"
 4_________________________________________________________________
 5Layer (type)                Output Shape              Param #
 6=================================================================
 7input_1 (InputLayer)        [(None, 64)]              0
 8
 9dense_1 (Dense)             (None, 1)                 65
10
11activ_1 (Activation)        (None, 1)                 0
12
13=================================================================
14Total params: 65
15Trainable params: 65
16Non-trainable params: 0
17_________________________________________________________________
18--- Время выполнения: 0.141 сек. ---
19
20True

Ошибка – 1 –

In [2]:
1from oceanai.modules.lab.prediction import Prediction
2
3pred = Prediction()
4
5pred.load_av_models_b5(
6    show_summary = 1, out = True,
7    runtime = True, run = True
8)
[2]:
1[2022-12-08 15:20:36] Неверные типы или значения аргументов в "Prediction.load_av_models_b5" ...
2
3False
load_av_models_weights_b5(url_openness: str, url_conscientiousness: str, url_extraversion: str, url_agreeableness: str, url_non_neuroticism: str, force_reload: bool = True, out: bool = True, runtime: bool = True, run: bool = True) bool[исходный код]

Загрузка весов нейросетевых моделей для получения результатов оценки персональных качеств

Параметры:
  • url_openness (str) – Полный путь к файлу с весами нейросетевой модели (открытость опыту)

  • url_conscientiousness (str) – Полный путь к файлу с весами нейросетевой модели (добросовестность)

  • url_extraversion (str) – Полный путь к файлу с весами нейросетевой модели (экстраверсия)

  • url_agreeableness (str) – Полный путь к файлу с весами нейросетевой модели (доброжелательность)

  • url_non_neuroticism (str) – Полный путь к файлу с весами нейросетевой модели („эмоциональная стабильность“)

  • force_reload (bool) – Принудительная загрузка файлов с весами нейросетевых моделей из сети

  • out (bool) – Отображение

  • runtime (bool) – Подсчет времени выполнения

  • run (bool) – Блокировка выполнения

Результат:

True если веса нейросетевых моделей загружены, в обратном случае False

Тип результата:

bool

Примеры

Верно – 1 –

In [1]:
1from oceanai.modules.lab.prediction import Prediction
2
3pred = Prediction()
4
5pred.load_av_models_b5(
6    show_summary = False, out = True,
7    runtime = True, run = True
8)
[1]:
1[2022-12-08 16:56:37] Формирование нейросетевых архитектур моделей для получения результатов оценки персональных качеств (мультимодальное объединение) ...
2
3--- Время выполнения: 0.075 сек. ---
4
5True
In [2]:
 1pred.path_to_save_ = './models'
 2pred.chunk_size_ = 2000000
 3
 4url_openness = pred.weights_for_big5_['av']['b5']['openness']['sberdisk']
 5url_conscientiousness = pred.weights_for_big5_['av']['b5']['conscientiousness']['sberdisk']
 6url_extraversion = pred.weights_for_big5_['av']['b5']['extraversion']['sberdisk']
 7url_agreeableness = pred.weights_for_big5_['av']['b5']['agreeableness']['sberdisk']
 8url_non_neuroticism = pred.weights_for_big5_['av']['b5']['non_neuroticism']['sberdisk']
 9
10pred.load_av_models_weights_b5(
11    url_openness = url_openness,
12    url_conscientiousness = url_conscientiousness,
13    url_extraversion = url_extraversion,
14    url_agreeableness = url_agreeableness,
15    url_non_neuroticism = url_non_neuroticism,
16    force_reload = True,
17    out = True,
18    runtime = True,
19    run = True
20)
[2]:
 1[2022-12-08 17:03:18] Загрузка весов нейросетевых моделей для получения результатов оценки персональных качеств (мультимодальное объединение) ...
 2
 3[2022-12-08 17:03:21] Загрузка файла "weights_2022-08-28_11-14-35.h5" (100.0%) ... Открытость опыту
 4
 5[2022-12-08 17:03:21] Загрузка файла "weights_2022-08-28_11-08-10.h5" (100.0%) ... Добросовестность
 6
 7[2022-12-08 17:03:21] Загрузка файла "weights_2022-08-28_11-17-57.h5" (100.0%) ... Экстраверсия
 8
 9[2022-12-08 17:03:21] Загрузка файла "weights_2022-08-28_11-25-11.h5" (100.0%) ... Доброжелательность
10
11[2022-12-08 17:03:21] Загрузка файла "weights_2022-06-14_21-44-09.h5" (100.0%) ... Эмоциональная стабильность
12
13--- Время выполнения: 3.399 сек. ---
14
15True

Ошибка – 1 –

In [3]:
 1from oceanai.modules.lab.prediction import Prediction
 2
 3pred = Prediction()
 4
 5pred.path_to_save_ = './models'
 6pred.chunk_size_ = 2000000
 7
 8url_openness = pred.weights_for_big5_['av']['b5']['openness']['sberdisk']
 9url_conscientiousness = pred.weights_for_big5_['av']['b5']['conscientiousness']['sberdisk']
10url_extraversion = pred.weights_for_big5_['av']['b5']['extraversion']['sberdisk']
11url_agreeableness = pred.weights_for_big5_['av']['b5']['agreeableness']['sberdisk']
12url_non_neuroticism = pred.weights_for_big5_['av']['b5']['non_neuroticism']['sberdisk']
13
14pred.load_av_models_weights_b5(
15    url_openness = url_openness,
16    url_conscientiousness = url_conscientiousness,
17    url_extraversion = url_extraversion,
18    url_agreeableness = url_agreeableness,
19    url_non_neuroticism = url_non_neuroticism,
20    force_reload = True,
21    out = True,
22    runtime = True,
23    run = True
24)
[3]:
 1[2022-12-08 17:05:32] Загрузка весов нейросетевых моделей для получения результатов оценки персональных качеств (мультимодальное объединение) ...
 2
 3[2022-12-08 17:05:32] Загрузка файла "weights_2022-08-28_11-14-35.h5" (100.0%) ...
 4
 5[2022-12-08 17:05:33] Что-то пошло не так ... не удалось загрузить веса нейросетевой модели ... Открытость опыту
 6
 7    Файл: /Users/dl/GitHub/oceanai/oceanai/modules/lab/prediction.py
 8    Линия: 639
 9    Метод: load_av_models_weights_b5
10    Тип ошибки: AttributeError
11
12[2022-12-08 17:05:33] Загрузка файла "weights_2022-08-28_11-08-10.h5" (100.0%) ...
13
14[2022-12-08 17:05:33] Что-то пошло не так ... не удалось загрузить веса нейросетевой модели ... Добросовестность
15
16    Файл: /Users/dl/GitHub/oceanai/oceanai/modules/lab/prediction.py
17    Линия: 639
18    Метод: load_av_models_weights_b5
19    Тип ошибки: AttributeError
20
21[2022-12-08 17:05:33] Загрузка файла "weights_2022-08-28_11-17-57.h5" (100.0%) ...
22
23[2022-12-08 17:05:33] Что-то пошло не так ... не удалось загрузить веса нейросетевой модели ... Экстраверсия
24
25    Файл: /Users/dl/GitHub/oceanai/oceanai/modules/lab/prediction.py
26    Линия: 639
27    Метод: load_av_models_weights_b5
28    Тип ошибки: AttributeError
29
30[2022-12-08 17:05:33] Загрузка файла "weights_2022-08-28_11-25-11.h5" (100.0%) ...
31
32[2022-12-08 17:05:33] Что-то пошло не так ... не удалось загрузить веса нейросетевой модели ... Доброжелательность
33
34    Файл: /Users/dl/GitHub/oceanai/oceanai/modules/lab/prediction.py
35    Линия: 639
36    Метод: load_av_models_weights_b5
37    Тип ошибки: AttributeError
38
39[2022-12-08 17:05:33] Загрузка файла "weights_2022-06-14_21-44-09.h5" (100.0%) ...
40
41[2022-12-08 17:05:33] Что-то пошло не так ... не удалось загрузить веса нейросетевой модели ... Эмоциональная стабильность
42
43    Файл: /Users/dl/GitHub/oceanai/oceanai/modules/lab/prediction.py
44    Линия: 639
45    Метод: load_av_models_weights_b5
46    Тип ошибки: AttributeError
47
48--- Время выполнения: 1.024 сек. ---
49
50False
load_avt_model_b5(show_summary: bool = False, out: bool = True, runtime: bool = True, run: bool = True) bool[исходный код]

Формирование нейросетевой архитектуры модели для получения оценок персональных качеств

Параметры:
  • show_summary (bool) – Отображение последней сформированной нейросетевой архитектуры моделей

  • out (bool) – Отображение

  • runtime (bool) – Подсчет времени выполнения

  • run (bool) – Блокировка выполнения

Результат:

True если нейросетевая архитектура модели сформирована, в обратном случае False

Тип результата:

bool

load_avt_model_weights_b5(url: str, force_reload: bool = True, out: bool = True, runtime: bool = True, run: bool = True) bool[исходный код]

Загрузка весов нейросетевой модели для получения оценок персональных качеств

Параметры:
  • url (str) – Полный путь к файлу с весами нейросетевой модели

  • force_reload (bool) – Принудительная загрузка файлов с весами нейросетевых моделей из сети

  • out (bool) – Отображение

  • runtime (bool) – Подсчет времени выполнения

  • run (bool) – Блокировка выполнения

Результат:

True если веса нейросетевой модели загружены, в обратном случае False

Тип результата:

bool