def get_model(input_channels=6, use_xyz=True): return Pointnet2MSG(input_channels=input_channels, use_xyz=use_xyz) class Pointnet2MSG(nn.Module): def init(self, input_channels=6, use_xyz=True): super(Pointnet2MSG, self).init() self.SA_modules = nn.ModuleList() channel_in = input_channels print("channel_in=", channel_in)在以上代码块中,明明channel_in 的初始值为 input_channels,即应该为6,为什么打印出来的值却为0,你可以给我详细的解决代码吗?
时间: 2023-11-28 07:50:48 浏览: 80
python中input()与raw_input()的区别分析
根据你提供的代码,我发现 `Pointnet2MSG` 的 `__init__` 方法中存在一个拼写错误,应该是 `def __init__` 而不是 `def init`。这个错误导致 `__init__` 方法没有被正确地初始化,所以 `channel_in` 的初始值为0。
修改后的代码如下:
```
def get_model(input_channels=6, use_xyz=True):
return Pointnet2MSG(input_channels=input_channels, use_xyz=use_xyz)
class Pointnet2MSG(nn.Module):
def __init__(self, input_channels=6, use_xyz=True):
super(Pointnet2MSG, self).__init__()
self.SA_modules = nn.ModuleList()
channel_in = input_channels
print("channel_in=", channel_in)
```
现在 `channel_in` 的初始值应该为6了。
阅读全文