Open c-pupil opened 5 months ago
您好,patchsize我們是比照HAT的實驗設置來決定的 (HAT也是用1),我們沒有嘗試過更大的patchsize。
調大patchsize可能對分類或分割檢測的顯著幫助,並且同時降低複雜度。但直覺上SR任務應該設小一點patchsize,因為關注的尺度是pixel-level。
Hello, we determine the patchsize based on the experimental settings of HAT (HAT also uses 1). We have not tried a larger patchsize.
Increasing the patchsize is significantly helpful for classification or segmentation detection, but intuitively the SR task should set a smaller patchsize.
@ming053l 感谢您的回答,我想请问您一下你们是用什么资源训练的呢?我用3090 24G,把您的模型作为编码器(多模态任务所以会用到两个编码器),输入图像尺寸在256x256时会报内存超出错 out of memory(batch_size设置为2,输入在128x128才可以运行),即使将layers都设置为[1,1,1,1]还是OOM,您认为这个问题的原因是什么,有什么建议或者方法减少这个显存的占用么?
@c-pupil
您好,我們使用的設備是2張3090 24G (4 batchsize),我們自己評估最少需要2卡才比較容易訓練,單卡的話要,若您要再擴充多模態模型可能會很受限
如果要融入文字特徵之類的來完成之後的任務,我的經驗是可行的方式的話就是利用adapter之類的方式,先offline使用預訓練的多模態模型萃取特徵後,並在額外設計模塊把這組特徵設法融入進去原本模型裡面,這相對比較容易
很吃memory的原因是SR model,普遍都是因為要將feature map維持相對較大的size,因此會需要消耗大量的memory,並且因為dense-connection的設計所以feature map需要hold on在memory裡面。SR model所以如果不是特別往efficient的方向設計模塊的話,都不容易規避掉OOM的困擾
您可能也有發現,調整原始圖像尺寸或是scale up的尺度倆者,才能夠降比較多記憶體開銷),其餘可行的方式就是把網路改淺、注意力頭改少、window設小之類的方法,但可能對您來說是無奈之舉,而且這樣做不見得最適合您的使用情境
多模態任務每個模態都要拿SOTA model挺吃resource。所以以您的方向而言的話,我會建議您使用SwinIR的輕量化版本,這相對簡單高效並且能和效能保持平衡
@ming053l 感谢您的回复和建议
@c-pupil
hi同學你好,
1的話我inference code重新弄過了,這個再請嘗試看看。原本的版本我沒有加上tilling process,所以會size mismatch,修正後的版本對圖像大小沒有任何限制了,單純前面沒加到而已,跟window_size沒關係 2都跟option file的一樣,但log我沒有留下來,我的經驗是pretrain on imagenet的麻煩的地方在於訓練時長。折衷的方式就是預訓練用LSDIR然後,但效果會稍微差一點,不過影響不大
@c-pupil hi, 同學你好 我們已經將在ImageNet上預訓練的DRCT-L及配置文件和訓練紀錄釋出了,請考慮使用,感謝
作者您好: 我看您的patch_size默认设置为1,并且在opt中并没有修改,我想问一下这个patch_size的设置对实验结果有影响大么?