RajAt_SiNha
(RAJAT KUMAR SINHA)
1
I have downloaded resnet-18 pretrained model and trying to load that as I am working in remote PC…
Code: for j in range(inputs.size()[0]):
images_so_far += 1
ax = plt.subplot(num_images//2, 2, images_so_far)
ax.axis(‘off’)
ax.set_title(‘predicted: {}’.format(dset_classes[preds[j]]))
imshow(inputs.cpu().data[j])
if images_so_far == num_images:
return
Error:visualize_model(model_ft)
TypeError Traceback (most recent call last)
in ()
----> 1 visualize_model(model_ft)
in visualize_model(model, num_images)
17 ax = plt.subplot(num_images//2, 2, images_so_far)
18 ax.axis(‘off’)
—> 19 ax.set_title(‘predicted: {}’.format(dset_classes[preds[j]]))
20 imshow(inputs.cpu().data[j])
21
TypeError: list indices must be integers, not torch.cuda.LongTensor
Please Help!!!
moskomule
(Moskomule)
2
Hi, since the information is limited I’m not sure, but are you sure preds[j]
is int? If it’s Tensor, what you need is preds[j][0]
RajAt_SiNha
(RAJAT KUMAR SINHA)
3
Actually the function is like:
def visualize_model(model, num_images=6):
images_so_far = 0
fig = plt.figure()
for i, data in enumerate(dset_loaders['val']):
inputs, labels = data
if use_gpu:
inputs, labels = Variable(inputs.cuda()), Variable(labels.cuda())
else:
inputs, labels = Variable(inputs), Variable(labels)
outputs = model(inputs)
_, preds = torch.max(outputs.data, 1)
#preds = (preds).data.cpu().numpy()
for j in range(inputs.size()[0]):
images_so_far += 1
ax = plt.subplot(num_images//2, 2, images_so_far)
ax.axis('off')
ax.set_title('predicted: {}'.format(dset_classes[preds[j]]))
(Variable(j).data).cpu().numpy()
imshow(inputs.cpu().data[j])
if images_so_far == num_images:
return
While calling visualize_model(model_ft) at the end to see the output running in GPU it is throwing the error:
TypeError Traceback (most recent call last)
in ()
----> 1 visualize_model(model_ft)
in visualize_model(model, num_images)
19 ax = plt.subplot(num_images//2, 2, images_so_far)
20 ax.axis(‘off’)
—> 21 ax.set_title(‘predicted: {}’.format(dset_classes[preds[j]]))
22 (Variable(j).data).cpu().numpy()
23 imshow(inputs.cpu().data[j])
TypeError: list indices must be integers, not torch.cuda.LongTensor
moskomule
(Moskomule)
4
Are you sure preds[j]
is int
?
moskomule
(Moskomule)
6
Can you use print(type(preds[j]))
or something else?