def __init__(self, options=None, conf_path=None): self.settings = options or Option(conf_path) self.checkpoint = None self.train_loader = None self.val_loader = None self.original_model = None self.pruned_model = None self.aux_fc_state = None self.aux_fc_opt_state = None self.seg_opt_state = None self.current_pivot_index = None self.epoch = 0 os.environ['CUDA_VISIBLE_DEVICES'] = self.settings.gpu self.settings.set_save_path() write_settings(self.settings) self.logger = get_logger(self.settings.save_path, "dcp") self.tensorboard_logger = TensorboardLogger(self.settings.save_path) self.settings.copy_code(self.logger, src=os.path.abspath('./'), dst=os.path.join(self.settings.save_path, 'code')) self.logger.info("|===>Result will be saved at {}".format( self.settings.save_path)) self.prepare()
def __init__(self, options=None, conf_path=None): self.settings = options or Option(conf_path) self.checkpoint = None self.train_loader = None self.val_loader = None self.pruned_model = None self.network_wise_trainer = None self.optimizer_state = None self.aux_fc_state = None os.environ['CUDA_VISIBLE_DEVICES'] = self.settings.gpu self.settings.set_save_path() write_settings(self.settings) self.logger = get_logger(self.settings.save_path, "finetune") self.tensorboard_logger = TensorboardLogger(self.settings.save_path) self.logger.info("|===>Result will be saved at {}".format(self.settings.save_path)) self.epoch = 0 self.test_input = None self.prepare()
if __name__ == "__main__": # model = MobileFaceNet(128, blocks=[1, 2, 2, 1]) # 2.36 M # model = MobileFaceNet(128, blocks=[1, 2, 3, 1]) # 2.62 M # model = MobileFaceNet(128, blocks=[1, 4, 6, 2]) # 3.83 M # model = MobileFaceNet(256, blocks=[2, 8, 16, 4]) # 7.61 M # model = MobileFaceNet(256, blocks=[4, 8, 16, 8]) # 8.75 M # zqcnn mobilefacenet_v2 # model = ZQMobileFaceNet(256, blocks=[1, 4, 6, 2]) # 11.34 M # model = ZQMobileFaceNet(256, blocks=[4,8,16,4]) # 21.25 M # model = ZQMobileFaceNet(512, blocks=[4, 8, 16, 4]) # 21.75 M model = ZQMobileFaceNet(512, blocks=[4, 8, 16, 8]) # 29.88 M # model = ZQMobileFaceNet(512, blocks=[8, 16, 32, 8]) # 39.36 M print(model) summary(model, (3, 112, 112)) save_path = './finetune-test' if not os.path.exists(save_path): os.makedirs(save_path) logger = get_logger(save_path, "finetune-test") test_input = torch.randn(1, 3, 112, 112) model_analyse = ModelAnalyse(model, logger) model_analyse.flops_compute(test_input) # count = 0 # for module in model.modules(): # print("{:d} = {}".format(count, module)) # count += 1