不是说两个张量只要维度一样,形状不同可以进行广播运算吗?这个为啥会报错
不是这样。
维度可以不一样,它会对少的维度自动增加维度直到两者维度一致。
然后同一维度上,必须有一个是1,而你这个不是,所以报错无法广播。
你把成b的改成reshape(2,2,1) 或者 reshape(2,2) 或者 reshape(2) 这样就可以广播了。
说白了广播的原则就是要么没有,要么是1。
filename = './models/vgg16/ocr.pth'
state = {'model':model.state_dict(),
'lossnet':lossnet.state_dict()}
torch.save(state, filename)
load_name = './models/vgg16/ocr.pth'
checkpoint = torch.load(load_name)
model.load_state_dict(checkpoint['model'])
lossnet.load_state_dict(checkpoint['lossnet'])
model.cuda()