When testing the trained network, python finds the above problems and adds them after loading the network model.eval (), the problem is solved.
model = nn.DataParallel(model).cpu()
model.load_state_dict(torch.load(path, map_location=torch.device('cpu')), False)
model.eval()
There are three things to note about this code snippet
nn.DataParallel(model)
If you add this function to the training network, you also need to add this function to the training network
model.load_state_dict(torch.load(path, map_location=torch.device('cpu')), False)
If the network framework is not saved when the network is saved and only parameters are available, the network can be loaded by the above method. If the GPU is used when the network is trained and the parameter map is added on the CPU when the network is used_ location= torch.device (‘cpu’)
model.eval()
The third is the problem of the topic. After loading the network, add the above function to solve the problem