您好,关于代码中损失的写法
cccusername opened this issue · 5 comments
您好,首先感谢您的代码。
我发现您的代码在表示损失的时候都是用一个类来表示,但是类中的forward的方法好像都没有用到的样子,我想请教一下您这样写是有什么目的吗
再看了一下是继承了nn.Module,是不是会直接运行forward?
那我还有一个疑问,比如说class StyleLoss(nn.Module)中的forward的参数input_feature是从哪里来的呢,我看您在使用的时候只是给了init的参数,所以对这个input_feature有点不解。
期待您的回复,谢谢!
这些loss 都被加入到了model 中
例如:
model.add_module("style_loss_{}".format(style_num), style_loss)
最后,只要执行
model(input_img)
这些loss 的forward 方法就都被执行了
@ray075hl 所以说forward方法中的input就是model的input对吗
那每个损失都返回了输入这个要什么理解呢
例如:
class StyleLoss(nn.Module):
def init:
...
def forward(input_feature):
return input_feature
目的是计算各种loss self.XXloss 返回什么都不重要
model(input_img) 这句并没有利用它的返回值啊
代码里的疑问 可以去看 https://pytorch.org/tutorials/advanced/neural_style_tutorial.html 我借鉴的这里的代码 它有详细的说明 😄