Caffe-Instance-Normalization-and-Guided-Instance-Normalization icon indicating copy to clipboard operation
Caffe-Instance-Normalization-and-Guided-Instance-Normalization copied to clipboard

AdaScale层之后,数据变成了0

Open daiwenjun2017 opened this issue 7 years ago • 7 comments

非常感谢亲提供的代码.但我在运行过程中,出现了一个问题,想请教一下是什么原因. make时,三个CPP文件出现警告,有未使用的变量,AdaScale.cu,出现error:AdaScalelayer is not a template,;invalid explicit insantance declartion ;编译通不过. 在AdaScale.cu中加入include "caffe/layers/Ada_Scale.hpp",能够编译通过. 然后在train.prototxt文件中讲batchnorm改为GuidedInstanceNorm,scale改为AdaScale,在运行trainprototxt文件时,AdaScale层之后,数据变成了0.请问这是什么原因?

daiwenjun2017 avatar Nov 05 '18 04:11 daiwenjun2017

prototxt文件最好也show一下,代码时间有点长,有点不太记得了,GuidedInstanceNorm输出两个变量,AdaScale输入除了x的feature还有GuidedInstanceNorm输出的两个变量。不知道是不是这方面的问题。我应该是在caffe1上编的。代码可以检查下看看有没有问题。

GuoShi28 avatar Nov 05 '18 06:11 GuoShi28

亲,感谢你的回复。我看了一下make时的警告提醒,有大量的未使用的变量,然后接着就是[with Dtype = double]或[with Dtype = float],我查了一下,可能是版本不匹配的问题,请问你是按照哪个版本写的代码? 感谢 805126841 邮箱:[email protected] 签名由 网易邮箱大师 定制 在2018年11月05日 14:01,Shi Guo 写道: prototxt文件最好也show一下,代码时间有点长,有点不太记得了,GuidedInstanceNorm输出两个变量,AdaScale输入除了x的feature还有GuidedInstanceNorm输出的两个变量。不知道是不是这方面的问题。我应该是在caffe1上编的。代码可以检查下看看有没有问题。 — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

daiwenjun2017 avatar Nov 05 '18 07:11 daiwenjun2017

caffe1上编的,具体版本有点忘记了,应该是比较早的版本,感觉计算推导上应该是没问题的,我是参考BN上直接改的,之前使用这个代码跑style transfer的实验,看结果貌似是合理的。还是建议你参考计算推导部分迁移到版本上。我备注也写到代码里面了,如果对这个有问题,可以再问我。

GuoShi28 avatar Nov 05 '18 07:11 GuoShi28

亲,guideinstancenorm是2个输出吧,α和β。但是你的guided_instance_norm.cpp里面只reshape了top[0],而且还是输入的维度,也就是个传统的batchnorm是一样的。adascale是三个输入,guided_instance_norm.cpp的输入、α和β,一个输出。然后三个输入根据公式7得到输出。是这样理解的吗? 805126841 邮箱:[email protected] 签名由 网易邮箱大师 定制 在2018年11月05日 15:11,Shi Guo 写道: caffe1上编的,具体版本有点忘记了,应该是比较早的版本,感觉计算推导上应该是没问题的,我是参考BN上直接改的,之前使用这个代码跑style transfer的实验,看结果貌似是合理的。还是建议你参考计算推导部分迁移到版本上。我备注也写到代码里面了,如果对这个有问题,可以再问我。 — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

daiwenjun2017 avatar Nov 05 '18 09:11 daiwenjun2017

亲,我的理解是不需要instance_norm这个文件。 由于没有reshape输入和输出,所以在make的时候,出现了大量的警告。 然后编译通过后,还是运行出现错误,就是因为你的guided-norm的输出定义有点瑕疵。 这是我的反馈意见。非常感谢你的代码? 805126841 邮箱:[email protected] 签名由 网易邮箱大师 定制 在2018年11月05日 17:13,[email protected] 写道: 亲,guideinstancenorm是2个输出吧,α和β。但是你的guided_instance_norm.cpp里面只reshape了top[0],而且还是输入的维度,也就是个传统的batchnorm是一样的。adascale是三个输入,guided_instance_norm.cpp的输入、α和β,一个输出。然后三个输入根据公式7得到输出。是这样理解的吗? 805126841 邮箱:[email protected] 签名由 网易邮箱大师 定制 在2018年11月05日 15:11,Shi Guo 写道: caffe1上编的,具体版本有点忘记了,应该是比较早的版本,感觉计算推导上应该是没问题的,我是参考BN上直接改的,之前使用这个代码跑style transfer的实验,看结果貌似是合理的。还是建议你参考计算推导部分迁移到版本上。我备注也写到代码里面了,如果对这个有问题,可以再问我。 — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

daiwenjun2017 avatar Nov 05 '18 09:11 daiwenjun2017

不好意思,打错了一个标点符号。最后一个标点符号是感叹号!不是问号,打错了,实在不好意思。 805126841 邮箱:[email protected] 签名由 网易邮箱大师 定制 在2018年11月05日 17:29,[email protected] 写道: 亲,我的理解是不需要instance_norm这个文件。 由于没有reshape输入和输出,所以在make的时候,出现了大量的警告。 然后编译通过后,还是运行出现错误,就是因为你的guided-norm的输出定义有点瑕疵。 这是我的反馈意见。非常感谢你的代码? 805126841 邮箱:[email protected] 签名由 网易邮箱大师 定制 在2018年11月05日 17:13,[email protected] 写道: 亲,guideinstancenorm是2个输出吧,α和β。但是你的guided_instance_norm.cpp里面只reshape了top[0],而且还是输入的维度,也就是个传统的batchnorm是一样的。adascale是三个输入,guided_instance_norm.cpp的输入、α和β,一个输出。然后三个输入根据公式7得到输出。是这样理解的吗? 805126841 邮箱:[email protected] 签名由 网易邮箱大师 定制 在2018年11月05日 15:11,Shi Guo 写道: caffe1上编的,具体版本有点忘记了,应该是比较早的版本,感觉计算推导上应该是没问题的,我是参考BN上直接改的,之前使用这个代码跑style transfer的实验,看结果貌似是合理的。还是建议你参考计算推导部分迁移到版本上。我备注也写到代码里面了,如果对这个有问题,可以再问我。 — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

daiwenjun2017 avatar Nov 05 '18 11:11 daiwenjun2017

能跑起来就好,谢谢你的反馈

GuoShi28 avatar Nov 05 '18 12:11 GuoShi28