When I run this cell in lesson1.ipynb on my windows PC,
arch=resnet34
data = ImageClassifierData.from_paths(PATH, tfms=tfms_from_model(arch, sz))
learn = ConvLearner.pretrained(arch, data, precompute=True)
learn.fit(0.01, 2)
I get this error.
AttributeError Traceback (most recent call last)
in
1 arch=resnet34
2 data = ImageClassifierData.from_paths(PATH, tfms=tfms_from_model(arch, sz))
----> 3 learn = ConvLearner.pretrained(arch, data, precompute=True)
4 learn.fit(0.01, 2)~\Anaconda3\envs\fastai\lib\site-packages\fastai\conv_learner.py in pretrained(cls, f, data, ps, xtra_fc, xtra_cut, custom_head, precompute, pretrained, **kwargs)
111 pretrained=True, **kwargs):
112 models = ConvnetBuilder(f, data.c, data.is_multi, data.is_reg,
–> 113 ps=ps, xtra_fc=xtra_fc, xtra_cut=xtra_cut, custom_head=custom_head, pretrained=pretrained)
114 return cls(data, models, precompute, **kwargs)
115~\Anaconda3\envs\fastai\lib\site-packages\fastai\conv_learner.py in init(self, f, c, is_multi, is_reg, ps, xtra_fc, xtra_cut, custom_head, pretrained)
38 else: cut,self.lr_cut = 0,0
39 cut-=xtra_cut
—> 40 layers = cut_model(f(pretrained), cut)
41 self.nf = model_features[f] if f in model_features else (num_features(layers)*2)
42 if not custom_head: layers += [AdaptiveConcatPool2d(), Flatten()]~\Anaconda3\envs\fastai\lib\site-packages\torchvision\models\resnet.py in resnet34(pretrained, **kwargs)
171 pretrained (bool): If True, returns a model pre-trained on ImageNet
172 “”"
–> 173 model = ResNet(BasicBlock, [3, 4, 6, 3], **kwargs)
174 if pretrained:
175 model.load_state_dict(model_zoo.load_url(model_urls[‘resnet34’]))~\Anaconda3\envs\fastai\lib\site-packages\torchvision\models\resnet.py in init(self, block, layers, num_classes)
113 for m in self.modules():
114 if isinstance(m, nn.Conv2d):
–> 115 nn.init.kaiming_normal_(m.weight, mode=‘fan_out’, nonlinearity=‘relu’)
116 elif isinstance(m, nn.BatchNorm2d):
117 nn.init.constant_(m.weight, 1)AttributeError: module ‘torch.nn.init’ has no attribute ‘kaiming_normal_’
What is the cause?