roidb = imdb.roidb data_layer = RoIDataLayer(roidb, imdb.num_classes) #pdb.set_trace() # Create network and initialize net = WSDDN(classes=imdb.classes, debug=_DEBUG) network.weights_normal_init(net, dev=0.001) if os.path.exists('pretrained_alexnet.pkl'): pret_net = pkl.load(open('pretrained_alexnet.pkl', 'r')) else: pret_net = model_zoo.load_url( 'https://download.pytorch.org/models/alexnet-owt-4df8aa71.pth') pkl.dump(pret_net, open('pretrained_alexnet.pkl', 'wb'), pkl.HIGHEST_PROTOCOL) own_state = net.state_dict() for name, param in pret_net.items(): if name not in own_state: continue if isinstance(param, Parameter): param = param.data try: own_state[name].copy_(param) print('Copied {}'.format(name)) except: print('Did not find {}'.format(name)) continue # Move model to GPU and set train mode net.cuda() net.train()
test_roidb = test_imdb.roidb data_layer_test = RoIDataLayer(test_roidb, test_imdb.num_classes) # Create network and initialize net = WSDDN(classes=imdb.classes, debug=_DEBUG) network.weights_normal_init(net, dev=0.0001) if os.path.exists('pretrained_alexnet.pkl'): pret_net = pkl.load(open('pretrained_alexnet.pkl', 'r')) # pret_net = pkl.load(open('./models/saved_model/wsdnn_50000.h5','r')) else: pret_net = model_zoo.load_url( 'https://download.pytorch.org/models/alexnet-owt-4df8aa71.pth') pkl.dump(pret_net, open('pretrained_alexnet.pkl', 'wb'), pkl.HIGHEST_PROTOCOL) own_state = net.state_dict() for name, param in pret_net.items(): if name not in own_state: continue if isinstance(param, Parameter): param = param.data try: own_state[name].copy_(param) print('Copied {}'.format(name)) except: print('Did not find {}'.format(name)) continue if resume and os.path.isfile("./wsddn_test_checkpoint"): print("=> loading checkpoint '{}'".format(args.resume)) checkpoint = torch.load(args.resume) args.start_epoch = checkpoint['epoch']
imdb = get_imdb(imdb_name) rdl_roidb.prepare_roidb(imdb) roidb = imdb.roidb data_layer = RoIDataLayer(roidb, imdb.num_classes) # Create network and initialize net = WSDDN(classes=imdb.classes, debug=_DEBUG) network.weights_normal_init(net, dev=0.001) if os.path.exists('pretrained_alexnet.pkl'): pret_net = pkl.load(open('pretrained_alexnet.pkl', 'r')) else: pret_net = model_zoo.load_url( 'https://download.pytorch.org/models/alexnet-owt-4df8aa71.pth') pkl.dump(pret_net, open('pretrained_alexnet.pkl', 'wb'), pkl.HIGHEST_PROTOCOL) own_state = net.state_dict() print(own_state.keys()) print(pret_net.keys()) for name, param in pret_net.items(): if name not in own_state: continue if isinstance(param, Parameter): param = param.data try: own_state[name].copy_(param) print('Copied {}'.format(name)) except: print('Did not find {}'.format(name)) continue # Move model to GPU and set train mode
# Create network and initialize net = WSDDN(classes=imdb.classes, debug=_DEBUG) net.features = torch.nn.DataParallel(net.features) net.roi_pool = torch.nn.DataParallel(net.roi_pool) net.classifier = torch.nn.DataParallel(net.classifier) net.score_cls = torch.nn.DataParallel(net.score_cls) net.score_det = torch.nn.DataParallel(net.score_det) network.weights_normal_init(net, dev=0.001) if os.path.exists('pretrained_alexnet.pkl'): pret_net = pkl.load(open('pretrained_alexnet.pkl','r')) else: pret_net = model_zoo.load_url('https://download.pytorch.org/models/alexnet-owt-4df8aa71.pth') pkl.dump(pret_net, open('pretrained_alexnet.pkl','wb'), pkl.HIGHEST_PROTOCOL) own_state = net.state_dict() # net.state_dict(),keys = for name, param in pret_net.items(): if name not in own_state: continue if isinstance(param, Parameter): param = param.data try: own_state[name].copy_(param) print('Copied {}'.format(name)) except: print('Did not find {}'.format(name)) continue if 'features' in name: name = name.replace('features.','features.module.') if 'classifier' in name: m = re.search('\d', name)