outputs = net3(Variable(images)) _, predicted = torch.max(outputs.data, 1) correct3 += (predicted == labels).sum() total += labels.size(0) print('Accuracy of the network on the %d test images:%%%f %%%f %%%f' % (total, 100 * correct1 / total, 100 * correct2 / total, 100 * correct3 / total)) if save_model: torch.save( { 'model_state_dict': net1.state_dict(), 'epoch': epoch, 'optimizer_state_dict': optimizer1.state_dict(), 'running_loss': running_loss1, }, './s1.model') torch.save( { 'model_state_dict': net2.state_dict(), 'epoch': epoch, 'optimizer_state_dict': optimizer2.state_dict(), 'running_loss': running_loss2, }, './s2.model') torch.save( { 'model_state_dict': net3.state_dict(), 'epoch': epoch, 'optimizer_state_dict': optimizer3.state_dict(), 'running_loss': running_loss3,
torch.norm(x3 - z).item()) / (3 * N) print('layer=%d(%d,%f) ADMM=%d primal=%e dual=%e' % (ci, N, rho, nadmm, primal_residual, dual_residual)) if check_results: verification_error_check(net1, net2, net3) print('Finished Training') if save_model: torch.save( { 'model_state_dict': net1.state_dict(), 'epoch': epoch, 'optimizer_state_dict': opt1.state_dict(), 'running_loss': running_loss1, }, './s1.model') torch.save( { 'model_state_dict': net2.state_dict(), 'epoch': epoch, 'optimizer_state_dict': opt2.state_dict(), 'running_loss': running_loss2, }, './s2.model') torch.save( { 'model_state_dict': net3.state_dict(), 'epoch': epoch, 'optimizer_state_dict': opt3.state_dict(), 'running_loss': running_loss3,
# print statistics if i%(batches_for_report) == (batches_for_report-1): # after every 'batches_for_report' print('%f: [%d, %5d] loss: %.5f accuracy: %.3f'% (time.time()-start_time,epoch+1,i+1,running_loss/batches_for_report, verification_error_check(net))) running_loss=0.0 print('Finished Training') # save model (and other extra items) torch.save({ 'model_state_dict':net.state_dict(), 'epoch':epoch, 'optimizer_state_dict':optimizer.state_dict(), 'running_loss':running_loss, },'./res.model') # whole dataset correct=0 total=0 for data in trainloader: images,labels=data outputs=net(Variable(images).to(mydevice)).cpu() _,predicted=torch.max(outputs.data,1) total += labels.size(0) correct += (predicted==labels).sum() print('Accuracy of the network on the %d train images: %d %%'%