Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于使用MMSA_test()的问题 #99

Open
zhanxingluan opened this issue Apr 1, 2024 · 9 comments
Open

关于使用MMSA_test()的问题 #99

zhanxingluan opened this issue Apr 1, 2024 · 9 comments

Comments

@zhanxingluan
Copy link

您好,我在使用了MMSA_run训练ef_lstm模型后得到了一个pth文件,我想用自己的视频进行测试,在使用MMSA_FET之后得到了单视频的pkl文件,请问我要如何使用MMSA_test()函数进行测试?我看APIs里没有对MMSA_test()的测试用例。

@zhanxingluan
Copy link
Author

我使用了MSA_FET的库进行了数据集的特征提取,再输入到MMSA_run中进行运行,我在对数据集的特征提取和对于测试视频的特征提取用的是同一个配置文件,但我还是无法使用MMSA_test来测试。请问是为什么?以下是我的代码:
run_dataset( config='./config2.json', dataset_dir = 'ch-simsv2s', out_file = './SIMSv2.pkl', tmp_dir='./.MMSA-FET/tmp', log_dir='./.MMSA-FET/log', num_workers = 4 )
模型训练代码:
config = get_config_tune('ef_lstm', 'sims') config['custom_feature'] = './SIMSv2.pkl' MMSA_run('ef_lstm','sims',config=config)

测试视频特征提取代码: vidiofile是视频文件路径,cleaned_result是语言识别后的文字
fet = FeatureExtractionTool(config="./config2.json", tmp_dir='./.MMSA-FET/tmp', log_dir='./.MMSA-FET/log') feature = fet.run_single(in_file=vidiofile, out_file="outputpkl/test.pkl",text=cleaned_result)

这是使用MMSA_test的代码:myef_lstm-simsv2.pth是训练完模型后的模型文件
config = get_config_tune('ef_lstm', 'sims') MMSA_test(config=config,weights_path='./myef_lstm-simsv2.pth',feature_path='./outputpkl/test.pkl')
这是我的config2.json配置:
{ "audio": { "tool": "opensmile", "sample_rate": 16000, "args": { "feature_set": "eGeMAPSv02", "feature_level": "LowLevelDescriptors", "start": null, "end": null } }, "video": { "tool": "openface", "fps": 10, "multiFace": { "enable": false, "device": "cuda:0", "facedetScale": 0.25, "minTrack": 10, "numFailedDet": 10, "minFaceSize": 1, "cropScale": 0.4 }, "average_over": 1, "args": { "hogalign": false, "simalign": false, "nobadaligned": false, "landmark_2D": true, "landmark_3D": false, "pdmparams": false, "head_pose": false, "action_units": true, "gaze": false, "tracked": false } }, "text": { "model": "bert", "device": "cpu", "pretrained": "models/bert-base-chinese", "args": {} } }

@Alan-capro
Copy link

Alan-capro commented Apr 3, 2024

@zhanxingluan
同学您好,请问您解决这个问题了吗?我在提取特征进行测试上也有类似的问题,请问能加个vx交流一下吗,我的电话是18801037156,谢谢!

@zhanxingluan
Copy link
Author

@zhanxingluan 同学您好,请问您解决这个问题了吗?我在提取特征进行测试上也有类似的问题,请问能加个vx交流一下吗,我的电话是18801037156,谢谢!

最后是解决了,以下是我的解决方法:
1.不要用ef_lstm模型进行训练,我用ef_lstm模型训练得到的权重文件无法输入到MMSA_test中,后来换成了 tfn的模型就能输入了。
2.检查输入的测试视频各模态维度和数据集的是否一致,可以通过打开两个pkl文件进行检查。

@Alan-capro
Copy link

@zhanxingluan 同学您好,请问您解决这个问题了吗?我在提取特征进行测试上也有类似的问题,请问能加个vx交流一下吗,我的电话是18801037156,谢谢!

最后是解决了,以下是我的解决方法: 1.不要用ef_lstm模型进行训练,我用ef_lstm模型训练得到的权重文件无法输入到MMSA_test中,后来换成了 tfn的模型就能输入了。 2.检查输入的测试视频各模态维度和数据集的是否一致,可以通过打开两个pkl文件进行检查。

您好,想问一下测试视频维度和数据集的不一致您是怎么解决的呀,走的步骤和你的都一样,是输入视频的问题吗?期待您的回复,万分感谢!

@Alan-capro
Copy link

@zhanxingluan 同学您好,请问您解决这个问题了吗?我在提取特征进行测试上也有类似的问题,请问能加个vx交流一下吗,我的电话是18801037156,谢谢!

最后是解决了,以下是我的解决方法: 1.不要用ef_lstm模型进行训练,我用ef_lstm模型训练得到的权重文件无法输入到MMSA_test中,后来换成了 tfn的模型就能输入了。 2.检查输入的测试视频各模态维度和数据集的是否一致,可以通过打开两个pkl文件进行检查。

您好,想问一下测试视频维度和数据集的不一致您是怎么解决的呀,走的步骤和你的都一样,是输入视频的问题吗?期待您的回复,万分感谢!

我的报错是类似这样子, size mismatch for Model.audio_subnet.linear_1.weight: copying a param with shape torch.Size([32, 25]) from checkpoint, the shape in current model is torch.Size([16, 25]).
size mismatch for Model.audio_subnet.linear_1.bias: copying a param with shape torch.Size([32]) from checkpoint, the shape in current model is torch.Size([16]).
size mismatch for Model.audio_subnet.linear_2.weight: copying a param with shape torch.Size([32, 32]) from checkpoint, the shape in current model is torch.Size([16, 16]).
size mismatch for Model.audio_subnet.linear_2.bias: copying a param with shape torch.Size([32]) from checkpoint, the shape in current model is torch.Size([16]).
size mismatch for Model.audio_subnet.linear_3.weight: copying a param with shape torch.Size([32, 32]) from checkpoint, the shape in current model is torch.Size([16, 16]).,都是一半的样子
Duplicate of #

@zhanxingluan
Copy link
Author

@zhanxingluan 同学您好,请问您解决这个问题了吗?我在提取特征进行测试上也有类似的问题,请问能加个vx交流一下吗,我的电话是18801037156,谢谢!

最后是解决了,以下是我的解决方法: 1.不要用ef_lstm模型进行训练,我用ef_lstm模型训练得到的权重文件无法输入到MMSA_test中,后来换成了 tfn的模型就能输入了。 2.检查输入的测试视频各模态维度和数据集的是否一致,可以通过打开两个pkl文件进行检查。

您好,想问一下测试视频维度和数据集的不一致您是怎么解决的呀,走的步骤和你的都一样,是输入视频的问题吗?期待您的回复,万分感谢!

我是通过pycharm的调试功能进行查看的,类似下面的代码:
image
这是你打开测试视频的pkl文件的数据,其中红框框起来的就是你测试视频的不同模态维度:
image
这是你打开数据集的数据,其中红框框起来的就是数据集的不同模态的维度:
image
对两个维度进行对比,要完全相同才能把测试视频的pkl文件输入到模型中,如果不同就需要看看数据集的特征提取方法,修改config.json文件。

@Alan-capro
Copy link

@zhanxingluan 同学您好,请问您解决这个问题了吗?我在提取特征进行测试上也有类似的问题,请问能加个vx交流一下吗,我的电话是18801037156,谢谢!

最后是解决了,以下是我的解决方法: 1.不要用ef_lstm模型进行训练,我用ef_lstm模型训练得到的权重文件无法输入到MMSA_test中,后来换成了 tfn的模型就能输入了。 2.检查输入的测试视频各模态维度和数据集的是否一致,可以通过打开两个pkl文件进行检查。

您好,想问一下测试视频维度和数据集的不一致您是怎么解决的呀,走的步骤和你的都一样,是输入视频的问题吗?期待您的回复,万分感谢!

我是通过pycharm的调试功能进行查看的,类似下面的代码: image 这是你打开测试视频的pkl文件的数据,其中红框框起来的就是你测试视频的不同模态维度: image 这是你打开数据集的数据,其中红框框起来的就是数据集的不同模态的维度: image 对两个维度进行对比,要完全相同才能把测试视频的pkl文件输入到模型中,如果不同就需要看看数据集的特征提取方法,修改config.json文件。

@zhanxingluan 同学您好,请问您解决这个问题了吗?我在提取特征进行测试上也有类似的问题,请问能加个vx交流一下吗,我的电话是18801037156,谢谢!

最后是解决了,以下是我的解决方法: 1.不要用ef_lstm模型进行训练,我用ef_lstm模型训练得到的权重文件无法输入到MMSA_test中,后来换成了 tfn的模型就能输入了。 2.检查输入的测试视频各模态维度和数据集的是否一致,可以通过打开两个pkl文件进行检查。

您好,想问一下测试视频维度和数据集的不一致您是怎么解决的呀,走的步骤和你的都一样,是输入视频的问题吗?期待您的回复,万分感谢!

我是通过pycharm的调试功能进行查看的,类似下面的代码: image 这是你打开测试视频的pkl文件的数据,其中红框框起来的就是你测试视频的不同模态维度: image 这是你打开数据集的数据,其中红框框起来的就是数据集的不同模态的维度: image 对两个维度进行对比,要完全相同才能把测试视频的pkl文件输入到模型中,如果不同就需要看看数据集的特征提取方法,修改config.json文件。

您好,想问下只要维度相同了就可以是嘛?我用您的方法对比了下,视频提取的特征维度和数据集提取出来的是一样的,如图所示:
1
这是我提区的视频的特征
audio
text
vision
测试的代码和config等都是使用的您第一个提问中的代码,只是把ef_lstm换成了tfn,但是却还是出现了那些报错

@zhanxingluan
Copy link
Author

@zhanxingluan 同学您好,请问您解决这个问题了吗?我在提取特征进行测试上也有类似的问题,请问能加个vx交流一下吗,我的电话是18801037156,谢谢!

最后是解决了,以下是我的解决方法: 1.不要用ef_lstm模型进行训练,我用ef_lstm模型训练得到的权重文件无法输入到MMSA_test中,后来换成了 tfn的模型就能输入了。 2.检查输入的测试视频各模态维度和数据集的是否一致,可以通过打开两个pkl文件进行检查。

您好,想问一下测试视频维度和数据集的不一致您是怎么解决的呀,走的步骤和你的都一样,是输入视频的问题吗?期待您的回复,万分感谢!

我是通过pycharm的调试功能进行查看的,类似下面的代码: image 这是你打开测试视频的pkl文件的数据,其中红框框起来的就是你测试视频的不同模态维度: image 这是你打开数据集的数据,其中红框框起来的就是数据集的不同模态的维度: image 对两个维度进行对比,要完全相同才能把测试视频的pkl文件输入到模型中,如果不同就需要看看数据集的特征提取方法,修改config.json文件。

@zhanxingluan 同学您好,请问您解决这个问题了吗?我在提取特征进行测试上也有类似的问题,请问能加个vx交流一下吗,我的电话是18801037156,谢谢!

最后是解决了,以下是我的解决方法: 1.不要用ef_lstm模型进行训练,我用ef_lstm模型训练得到的权重文件无法输入到MMSA_test中,后来换成了 tfn的模型就能输入了。 2.检查输入的测试视频各模态维度和数据集的是否一致,可以通过打开两个pkl文件进行检查。

您好,想问一下测试视频维度和数据集的不一致您是怎么解决的呀,走的步骤和你的都一样,是输入视频的问题吗?期待您的回复,万分感谢!

我是通过pycharm的调试功能进行查看的,类似下面的代码: image 这是你打开测试视频的pkl文件的数据,其中红框框起来的就是你测试视频的不同模态维度: image 这是你打开数据集的数据,其中红框框起来的就是数据集的不同模态的维度: image 对两个维度进行对比,要完全相同才能把测试视频的pkl文件输入到模型中,如果不同就需要看看数据集的特征提取方法,修改config.json文件。

您好,想问下只要维度相同了就可以是嘛?我用您的方法对比了下,视频提取的特征维度和数据集提取出来的是一样的,如图所示: 1 这是我提区的视频的特征 audio text vision 测试的代码和config等都是使用的您第一个提问中的代码,只是把ef_lstm换成了tfn,但是却还是出现了那些报错

我后来使用了作者提供的SIMS的数据集,不是v2的,配置如下:
image
image
image
可能能解决您的问题。

@GilgamishW
Copy link

@Alan-capro 你好,请问你的问题解决了吗?我也出现了相同的问题

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants