Issues with densenet model

i have trained a model on gpu but i want to deploy it on cpu… i got that error “AttributeError: ‘_DenseLayer’ object has no attribute ‘memory_efficient’” when i train densenet model but the inference works fine with any other pretrained model

can you show the full traceback here? also are you saying densenet pretrained inference runs fine?

Here is the full traceback
Traceback (most recent call last):
File “chexpert_prediction.py”, line 227, in
preds = learn.predict(orig_img)
File “/home/tfradai_gmail_com/anaconda3/envs/fast_cpu/lib/python3.7/site-packages/fastai/basic_train.py”, line 37
5, in predict
res = self.pred_batch(batch=batch, with_dropout=with_dropout)
File “/home/tfradai_gmail_com/anaconda3/envs/fast_cpu/lib/python3.7/site-packages/fastai/basic_train.py”, line 35
4, in pred_batch
if not with_dropout: preds = loss_batch(self.model.eval(), xb, yb, cb_handler=cb_handler)
File “/home/tfradai_gmail_com/anaconda3/envs/fast_cpu/lib/python3.7/site-packages/fastai/basic_train.py”, line 26
, in loss_batch
out = model(*xb)
File “/home/tfradai_gmail_com/anaconda3/envs/fast_cpu/lib/python3.7/site-packages/torch/nn/modules/module.py”, li
ne 547, in call
result = self.forward(*input, **kwargs)
File “/home/tfradai_gmail_com/anaconda3/envs/fast_cpu/lib/python3.7/site-packages/torch/nn/modules/container.py”,
line 92, in forward
input = module(input)
File “/home/tfradai_gmail_com/anaconda3/envs/fast_cpu/lib/python3.7/site-packages/torch/nn/modules/module.py”, li
ne 547, in call
result = self.forward(*input, **kwargs)
File “/home/tfradai_gmail_com/anaconda3/envs/fast_cpu/lib/python3.7/site-packages/torch/nn/modules/container.py”,
line 92, in forward
input = module(input)
File “/home/tfradai_gmail_com/anaconda3/envs/fast_cpu/lib/python3.7/site-packages/torch/nn/modules/module.py”, li
ne 547, in call
result = self.forward(*input, **kwargs)
File “/home/tfradai_gmail_com/anaconda3/envs/fast_cpu/lib/python3.7/site-packages/torch/nn/modules/container.py”,
line 92, in forward
input = module(input)
File “/home/tfradai_gmail_com/anaconda3/envs/fast_cpu/lib/python3.7/site-packages/torch/nn/modules/module.py”, li
ne 547, in call
result = self.forward(*input, **kwargs)
File “/home/tfradai_gmail_com/anaconda3/envs/fast_cpu/lib/python3.7/site-packages/torchvision/models/densenet.py”
, line 74, in forward
new_features = layer(*features)
File “/home/tfradai_gmail_com/anaconda3/envs/fast_cpu/lib/python3.7/site-packages/torch/nn/modules/module.py”, li
ne 547, in call
result = self.forward(*input, **kwargs)
File “/home/tfradai_gmail_com/anaconda3/envs/fast_cpu/lib/python3.7/site-packages/torchvision/models/densenet.py”
, line 47, in forward
if self.memory_efficient and any(prev_feature.requires_grad for prev_feature in prev_features):
File “/home/tfradai_gmail_com/anaconda3/envs/fast_cpu/lib/python3.7/site-packages/torch/nn/modules/module.py”, li
ne 591, in getattr
type(self).name, name))

no i sayall models(that i trained like resnet and se_resnet) except densenet

You might be using an older version of torchvision models - ‘memory_efficient’ attribute is present only in densenet(reason why you were able to run resnets) and I guess this might be introduced in the newer versions of torchvision.

Do

pip install --upgrade torchvision

This should solve the issue. Also it would be better if you rename the title to something more specific to the problem :slight_smile:

1 Like

pip install torchvision==0.2.0 --no-deps --no-cache-dir

You need torchvision 0.2.0

Hey, thanks for sharing this post did you get the answer because i am getting problems while solving.