我正在使用DCGAN进行pytorch codebase
的人脸识别,并遇到了这段代码。
def weights_init(m):
classname = m.__class__.__name__
if classname.find('Conv') != -1:
nn.init.normal_(m.weight.data, 0.0, 0.02)
elif classname.find('BatchNorm') != -1:
nn.init.normal_(m.weight.data, 1.0, 0.02)
nn.init.constant_(m.bias.data, 0)
我不理解上述方法classname = m.__class__.__name__
的第2行if classname.find('Conv') != -1:
和第3行weights_init
。
答案 0 :(得分:0)
为回答标题问题,Python的语言参考standard types文档对此进行了最佳解释。
我的类Hero
基本上是用户定义的可调用类型,并且具有special attribute
__name__
。这些属性是writable
,我也可以对其进行修改。
来自official doc的Python字符串的.find()
方法引用:
返回找到子字符串sub的字符串中的最低索引 在切片s [start:end]中。可选参数start和end为 解释为切片表示法。如果未找到sub,则返回-1。
基本上,您的示例代码正在尝试在类名称中找到Conv
,并相应地进行进一步操作。