如何快速使用MMSA多模态情感分析框架运行自己的模型
使用MMSA框架进行新模型训练及验证流程:
准备工作:先在/data/chl/MMSA/src/MMSA/config/config_regression.json修改下载的数据集工作路径以及数据集的路径
/data/chl/data(替换为MOSI和MOSEI数据所在的父目录)
featurePath替换为mosi路径

- 首先在/data/chl/MMSA/src/MMSA/trains/singleTask和
/data/chl/MMSA/src/MMSA/models/singleTask下创建模型代码和训练代码
现在假设模型和训练的文件都为EMOE.py
然后将模型和训练文件填为自己想要的模型方法和训练方法
2.填写amio.py和atio.py

加上上图的这一行
ATIO.py也类似
记住这里的EMOE要和你模型和训练的类同名否则会报错。
3.修改config_regression
找到config里的config_regression添加你模型所需的参数
在config_regression里添加你模型所需的参数
我的参数如下:
"emoe": {
"commonParams": {
"need_data_aligned": true,
"need_model_aligned": true,
"early_stop": 10,
"use_bert": true,
"use_finetune": true,
"attn_mask": true,
"update_epochs": 10,
"fusion_method": "sum",
"temperature": 0.1
},
"datasetParams": {
"mosi": {
"attn_dropout_a": 0.2,
"attn_dropout_v": 0.0,
"relu_dropout": 0.0,
"embed_dropout": 0.2,
"res_dropout": 0.0,
"dst_feature_dim_nheads": [256, 8],
"batch_size": 16,
"learning_rate": 0.0001,
"nlevels": 4,
"conv1d_kernel_size_l": 5,
"conv1d_kernel_size_a": 5,
"conv1d_kernel_size_v": 5,
"text_dropout": 0.5,
"attn_dropout": 0.3,
"output_dropout": 0.5,
"grad_clip": 0.6,
"patience": 5,
"weight_decay": 0.005,
"transformers": "bert",
"pretrained": "bert-base-uncased"
},
"mosei": {
"attn_dropout_a": 0.0,
"attn_dropout_v": 0.0,
"relu_dropout": 0.0,
"embed_dropout": 0.0,
"res_dropout": 0.0,
"dst_feature_dim_nheads": [256, 8],
"batch_size": 16,
"learning_rate": 0.0001,
"nlevels": 4,
"conv1d_kernel_size_l": 5,
"conv1d_kernel_size_a": 1,
"conv1d_kernel_size_v": 3,
"text_dropout": 0.3,
"attn_dropout": 0.4,
"output_dropout": 0.5,
"grad_clip": 0.6,
"patience": 5,
"weight_decay": 0.001,
"transformers": "bert",
"pretrained": "bert-base-uncased"
}
}
},
4.写运行代码
MMSA框架运行代码非常简单
在MMSA初始目录下创建一个run.py文件,使用指令 python run.py即可运行
下面是一段最简单的运行代码
from MMSA import MMSA_run
MMSA_run('EMOE', 'mosi', seeds=[1111,1112,1113], gpu_ids=[0])
'EMOE'(模型名称)
'mosi'(数据集名称)
Seeds为随机种子
gpu_id为gpu编号
开始运行
后续可能还要一些小bug通过ai可以轻松修复
更多推荐




所有评论(0)