def main(args): env_info = get_sys_env() place = 'gpu' if env_info['Paddle compiled with cuda'] and env_info[ 'GPUs used'] else 'cpu' paddle.set_device(place) if not args.cfg: raise RuntimeError('No configuration file specified.') cfg = Config(args.cfg) val_dataset = cfg.val_dataset if not val_dataset: raise RuntimeError( 'The verification dataset is not specified in the configuration file.' ) msg = '\n---------------Config Information---------------\n' msg += str(cfg) msg += '------------------------------------------------' logger.info(msg) model = cfg.model if args.model_path: para_state_dict = paddle.load(args.model_path) model.set_dict(para_state_dict) logger.info('Loaded trained params of model successfully') evaluate(model, val_dataset)
def main(args): env_info = get_sys_env() place = 'gpu' if env_info['Paddle compiled with cuda'] and env_info[ 'GPUs used'] else 'cpu' paddle.set_device(place) if not args.cfg: raise RuntimeError('No configuration file specified.') cfg = Config(args.cfg) # Only support for the DeepLabv3+ model if args.data_format == 'NHWC': if cfg.dic['model']['type'] != 'DeepLabV3P': raise ValueError( 'The "NHWC" data format only support the DeepLabV3P model!') cfg.dic['model']['data_format'] = args.data_format cfg.dic['model']['backbone']['data_format'] = args.data_format loss_len = len(cfg.dic['loss']['types']) for i in range(loss_len): cfg.dic['loss']['types'][i]['data_format'] = args.data_format val_dataset = cfg.val_dataset if val_dataset is None: raise RuntimeError( 'The verification dataset is not specified in the configuration file.' ) elif len(val_dataset) == 0: raise ValueError( 'The length of val_dataset is 0. Please check if your dataset is valid' ) msg = '\n---------------Config Information---------------\n' msg += str(cfg) msg += '------------------------------------------------' logger.info(msg) model = cfg.model skip_quant(model) quantizer = QAT(config=quant_config) quant_model = quantizer.quantize(model) logger.info('Quantize the model successfully') if args.model_path: utils.load_entire_model(quant_model, args.model_path) logger.info('Loaded trained params of model successfully') test_config = get_test_config(cfg, args) config_check(cfg, val_dataset=val_dataset) evaluate(quant_model, val_dataset, num_workers=args.num_workers, **test_config)
def main(args): env_info = get_sys_env() place = 'gpu' if env_info['Paddle compiled with cuda'] and env_info[ 'GPUs used'] else 'cpu' paddle.set_device(place) if not args.cfg: raise RuntimeError('No configuration file specified.') cfg = Config(args.cfg) val_dataset = cfg.val_dataset if val_dataset is None: raise RuntimeError( 'The verification dataset is not specified in the configuration file.' ) elif len(val_dataset) == 0: raise ValueError( 'The length of val_dataset is 0. Please check if your dataset is valid' ) msg = '\n---------------Config Information---------------\n' msg += str(cfg) msg += '------------------------------------------------' logger.info(msg) model = cfg.model if args.model_path: utils.load_entire_model(model, args.model_path) logger.info('Loaded trained params of model successfully') config_check(cfg, val_dataset=val_dataset) evaluate( model, val_dataset, aug_eval=args.aug_eval, scales=args.scales, flip_horizontal=args.flip_horizontal, flip_vertical=args.flip_vertical, is_slide=args.is_slide, crop_size=args.crop_size, stride=args.stride, num_workers=args.num_workers, )
save_dir = 'my_save_model', # 训练模型保存路径 iters = 2500, # 总迭代次数 batch_size = 2, # 每批处理图片张数 save_interval = 250, # 保存和评估间隔 log_iters = 20, # 训练日志打印间隔 use_vdl = True # 使用VisualDL ) # 8.0评估测试集 from paddleseg.core import evaluate model = UNet(num_classes=3) #换自己保存的模型文件 model_path = '/home/aistudio/my_save_model/best_model/model.pdparams' para_state_dict = paddle.load(model_path) model.set_dict(para_state_dict) evaluate(model,val_dataset) from paddleseg.core import predict transforms = T.Compose([ T.Resize(target_size=(512, 512)), T.Normalize() ]) model = UNet(num_classes=3) #生成图片列表 image_list = [] with open('/home/aistudio/work/newdata/test_list.txt' ,'r') as f: for line in f.readlines(): image_list.append(line.split()[0]) predict(