haitongli / knowledge-distillation-pytorch

A PyTorch implementation for exploring deep and shallow knowledge distillation (KD) experiments with flexibility
MIT License
1.87k stars 346 forks source link

'Tensor' object is not callable #11

Open youyeg opened 5 years ago

youyeg commented 5 years ago

I modified the code, and I get an error, does anybody have any idea why? I am using CPU:

I have an error in this line:

—> 10 output_teacher_batch = teacher_model(data_batch).data().numpy() TypeError: ‘Tensor’ object is not callable

Does anybody have an idea how to solve this?

def fetch_teacher_outputs(teacher_model, dataloader):

set teacher_model to evaluation mode

teacher_model.eval() teacher_outputs = [] for i, (data_batch, labels_batch) in enumerate(dataloader): if torch.cuda.is_available(): data_batch, labels_batch = data_batch.cuda(async=True), labels_batch.cuda(async=True) data_batch, labels_batch = Variable(data_batch), Variable(labels_batch)

**output_teacher_batch = teacher_model(data_batch).data().numpy()**
teacher_outputs.append(output_teacher_batch)

return teacher_outputs

haitongli commented 5 years ago

Hi, could you be more specific about where and what you modified? What you pasted here is not easy to read.