并没有用到额外的包,只需要将该任务原本配好的环境重命名为common就行
或者运行如下脚本
conda env create -f environment.yml
conda activate common
使用 openl3 提取的 audio 和 visual 特征,此步骤过程较长,已预先提取好放于 /dssg/home/acct-stu/stu464/ai3611/av_scene_classify/data/feature
,基于进行实验
所有的Mean Model(一开始在时间轴上进行均值操作)都在./mean_model中,可以通过以下脚本运行
conda activate common
python train_mean.py --config_file configs/name.yaml --cuda 0
# evaluation
python evaluate.py --experiment_path experiments/name
其中name为模型名字
有2个模型都能达到最优性能
- Mid Fusion的调参版
conda activate common
python train_mean.py --config_file configs/baseline.yaml --cuda 0
# evaluation
python evaluate.py --experiment_path experiments/mid
- 划窗改进
conda activate common
python train_mean.py --config_file configs/com_dt_t.yaml --cuda 0
# evaluation
python evaluate.py --experiment_path experiments/com_dt_t
所有的Mean Model(卷积模型)都在./conv_model中,可以通过以下脚本运行
conda activate common
python train_conv.py --config_file configs/name.yaml --cuda 0
# evaluation
python evaluate.py --experiment_path experiments/name
其中name为模型名字,运行时需要把evaluate.py中的
from mean_model import load_model
改为
from conv_model import load_model
所有的Mean Model都在./mean_model中,通过__init__.py中定义的load_model函数调用。其中:
- audio.py 指 Audio Only
- video.py 指 Video Only
- early.py 指 Early Fusion
- mid.py 指 Mid Fusion,也即为Baseeline模型
- decision.py 指 Decision Level Fusion
- audio_vattn.py 指 Audio + Vedio Attention
- video_aattn.py 指 Video + Audio Attention
- video_divide_t.py 指 Video Only + 划窗操作
- audio_divide_t.py 指 Audio Only + 划窗操作
- com_dt_t.py 指 Baseline + 划窗操作
- decision_midattn 指 Decision Level Fusion + AV Attention