TypechoJoeTheme

鱼一的博客 ◡̈

yuyi

知不可乎骤得,托遗响于悲风
网站页面
标签搜索

科研流水账38

阅读了 Channel Augmented Joint Learning for Visible-Infrared Recognition

论文主要有下面两个创新点。

  • 提出了一种针对可见红外识别图片的通道交换增强,可以整合到现有预处理方法的增强操作中。
  • 设计了一个通道混合学习方案来同时处理类内和不同模态之间的变化。
    辆重识别任务。并通过联合学习策略优化了通道增强图像。

代码工作:

  • 修改之前pven项目的代码,实现多机分布式训练。
  • 修改pven 局部特征部分的代码,实现四个分支合一。
  • 下载调试这周阅读论文的代码。

问题分析

  • 多机分布总卡在使用多机分布式初始化模型上,使用之前一些简单样例模型结构可以正常运行,替换成pven模型后就会一直卡住。
    于是就觉得是模型有问题,一点点把模型拆解找错误原因,发现有时候就改一下卷积核大小,就可能导致卡住的问题。感觉不能理解这种情况,然后就去源码里面想搞清楚这里的模型初始化到底是卡在了那一步。最后发现卡在了self.reducer = dist.Reducer(...)的前面,这里Reducer是用来实现反向传播梯度同步用的,里面需要传入模型的参数作为变量之一。所以就觉得可能还是模型的问题。接着就对比了能够顺利运行的模型和会卡住的模型参数在这一步的形状的差异,发现不是这里的问题。
    最终,在网上看到别人解读源码的帖子,发现源码和我的不太一样,感觉也许这可能是我这个版本的bug,然后更新到最新的pytorch,于是困扰几天的问题就这么解决了。
  • 后面多机分布又遇到了运行会卡一阵子然后自动中断的问题,也是纠缠了很久没解决。最后我发现6005上正常运行代码也会程序被杀掉,上网搜索,说是因为pytorch检测到电脑内存不足,所以会自动杀掉进程。最后重启了6005服务器,然后又可以正常运行pytorch了。
    猜测造成这种问题的原因可能是之前不断调试多机分布式,启动很多此多进程,虽然最后都关掉了,但可能还是造成了内存的占用。
  • 在pven上修改局部特征代码为四合一后,性能下降。
    这里不仅需要修改模型部分,因为局部特征的形状就不再是(B,C,N), 同时也比之前的局部距离计算少了面积注意力这个参数,所以评估时的算局部距离的代码也要修改,这里直接参考全局计算方式进行的修改,可能这样并不够好,后面可以再推敲下。
  • 已经想办法从闲鱼上下载到了其中一个数据集,在本地跑了数据预处理的代码。

下一步研究计划

  • vehicleID 上的重识别实验要尽快跑出来。
  • 继续多看多理解多模态模型的论文和代码,其主要就是解决对齐不同模态特征的问题。
赞(0)
版权属于:

鱼一的博客 ◡̈

本文链接:

https://yuyi.monster/archives/73/(转载时请注明本文出处及文章链接)

评论 (0)

More Info for me 📱

IP信息

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月