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

关于optimizer的问题 #26

Open
ywher opened this issue Jul 15, 2021 · 7 comments
Open

关于optimizer的问题 #26

ywher opened this issue Jul 15, 2021 · 7 comments

Comments

@ywher
Copy link

ywher commented Jul 15, 2021

我发现STDC中的optimizer与BiSeNet的optimizer相比多传入了boundary_loss_func,输出看了下,请问是因为在训练过程中对初始设置的融合权重0.6,0.3,0.1进行优化吗?

@MichaelFan01
Copy link
Owner

我发现STDC中的optimizer与BiSeNet的optimizer相比多传入了boundary_loss_func,输出看了下,请问是因为在训练过程中对初始设置的融合权重0.6,0.3,0.1进行优化吗?

是的,因为它里面有可训练的参数

@ywher
Copy link
Author

ywher commented Jul 16, 2021

我发现STDC中的optimizer与BiSeNet的optimizer相比多传入了boundary_loss_func,输出看了下,请问是因为在训练过程中对初始设置的融合权重0.6,0.3,0.1进行优化吗?

是的,因为它里面有可训练的参数

thanks

@chengjianhong
Copy link

chengjianhong commented Jul 20, 2021

@MichaelFan01 您好,能解释一下对Detail GT采用权重优化机制的原因吗?如果直接给出精细的Detail GT与预测的Boundary计算损失结果又如何?

@MichaelFan01
Copy link
Owner

@MichaelFan01 您好,能解释一下对Detail GT采用权重优化机制的原因吗?如果直接给出精细的Detail GT与预测的Boundary计算损失结果又如何?

为了增加Detail信息的丰富性,直接计算也行,其实差别也不太大

@chenying99
Copy link

我发现STDC中的optimizer与BiSeNet的optimizer相比多传入了boundary_loss_func,输出看了下,请问是因为在训练过程中对初始设置的融合权重0.6,0.3,0.1进行优化吗?

是的,因为它里面有可训练的参数

您好,请问 里面有可训练的参数 是这个么?

self.fuse_kernel = torch.nn.Parameter(torch.tensor([[6./10], [3./10], [1./10]],
dtype=torch.float32).reshape(1, 3, 1, 1)) .type(torch.cuda.FloatTensor))

@MengzhangLI
Copy link

我发现STDC中的optimizer与BiSeNet的optimizer相比多传入了boundary_loss_func,输出看了下,请问是因为在训练过程中对初始设置的融合权重0.6,0.3,0.1进行优化吗?

是的,因为它里面有可训练的参数

您好,请问 里面有可训练的参数 是这个么?

self.fuse_kernel = torch.nn.Parameter(torch.tensor([[6./10], [3./10], [1./10]], dtype=torch.float32).reshape(1, 3, 1, 1)) .type(torch.cuda.FloatTensor))

这个你当它是给定的参数就行了,因为根本没有放入计算图中。你可以打印作者和 paddleseg(借鉴原作者)训练好的模型,里面并没有 fuse_kernel这个参数。而原作者在 DDP训练 时添加了 find_unused_parameters=True,所以并没有报错,它就被忽略了。

综上,文章里的 "Then we upsample the detail feature maps to theoriginal size and fuse it with a trainable1×1convolutionfor dynamic re-wegihting." 这句表述是不准确的,因为并没有被输入到计算图里训练。

@MengzhangLI
Copy link

Anyway, we would support STDC-Seg on MMSegmentation for its relatively high speed and good performance on Cityscapes dataset.

FYI: open-mmlab/mmsegmentation#995

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

5 participants