<Yun>

Results 40 comments of <Yun>

这里的实现是TNet + MNet = Model, 然后统一训练model。也不是不可以,只要你的tnet和mnet都能收敛就行了。之所以不常这样做是因为每个net的收敛速度不一样,有时第一个net已经过拟合和第二个才开始收敛。 我的训练步骤是先tnet, 然后freeze tnet,用tnet的结果去训练mnet,最后把tnet和mnet放一起微调。也就是和论文里面一样的步骤。 具体怎么训练看你,你要训练哪个net就针对性的用哪个loss就好。跟数据集关系不大,只要你有rgb彩色图,trimap和最后的alpha图这三个就好。 如果你是预训练好了的mnet,你可以直接训练tnet然后再放一起微调就好了。

现在这个repo的model里面就是加载的两个模型

train.py这里写了 ![image](https://user-images.githubusercontent.com/39732241/120257606-1ca63d00-c2c3-11eb-9c10-2924219bb8e8.png) 你如果要做mnet的,或者单独某个net,仿照写一个就好了。

> 可能我把名词的概念弄混淆了。我以为的是torch.load(model1.ckpt) , torch.load(model2.ckpt) > 您的意思是说 单独训练T-Net这个网络生成T.ckpt , 然后再用T.ckpt fine-tune 训练M-Net这个网络, 然后最后再用这个repo的end2end 进行最后的微调对吗。 所以意思就是这个repo的网络一开始就是M+T一起训练的 , 只不过第一步只反向传播Loss_T. > > 我理解的对吗?~ 是的。正确。

1》模型不同确实cuda 占用不同,所以这个最直接就是换大一点的显卡 2》为什么一定要end-to-end,你先resize变小,拿去产生trimap, 释放掉cuda内存,然后把trimap放大,拿去产生alpha matte,不可以吗? 3》【用一定尺寸上限的图片训练出来的模型,无法处理超过此上限的图片】不存在这个说法

这两个模型都不是做的同一件事情,就没得比较了。 用encoder decoder做restoration耗gpu内存是很正常的。

> 大佬, 我又来了, 现在基本上我的抠图 在分割部分 已经达到要求了, 目前的问题是m_net感觉效果不佳, 目前有一个疑问 就是L_p = L_alpha + L_compositional 中的L_compositional ==||Cg - Cp|| 我对这个Cg到底是什么有些疑惑。 这个仓库的L_compositional中和DIM中的计算方式不一样, 这个作者是用torch.cat((alpha_gt, alpha_gt, alpha_gt) , 1) * img. 去计算Cg t的值, 而DIM中甚至还要用到bg, 所以我很疑惑...

I also have a quite high EER on VOX1, also my GE2E loss is quite high, around 20. I think we can obtain very good result on TIMIT is just...

Oh, I see, I only use 300 epoch on the training and the loss decrease very slow and almost stop around 20...actually this is also my question on the GE2E...

also, I noticed that in your VGG code, you set bias to **False** ``` def _make_layers(self, output_channels, layer_num): layers = [] while layer_num: layers.append( BasicConv( self.input_channels, output_channels, kernel_size=3, padding=1, bias=False...