# 判断是否多GPU载入模型和预训练权重 #----------------------------------------------------# if ngpus_per_node > 1: with strategy.scope(): #------------------------------------------------------# # 创建yolo模型 #------------------------------------------------------# model_body = yolo_body((None, None, 3), anchors_mask, num_classes, backbone, alpha, weight_decay=weight_decay) if model_path != '': #------------------------------------------------------# # 载入预训练权重 #------------------------------------------------------# print('Load weights {}.'.format(model_path)) model_body.load_weights(model_path, by_name=True, skip_mismatch=True) if not eager: model = get_train_model(model_body, input_shape, num_classes, anchors, anchors_mask, label_smoothing, focal_loss, focal_alpha, focal_gamma) else: #------------------------------------------------------# # 创建yolo模型 #------------------------------------------------------# model_body = yolo_body((None, None, 3), anchors_mask, num_classes, backbone, alpha, weight_decay=weight_decay) if model_path != '': #------------------------------------------------------# # 载入预训练权重 #------------------------------------------------------# print('Load weights {}.'.format(model_path)) model_body.load_weights(model_path, by_name=True, skip_mismatch=True) if not eager: model = get_train_model(model_body, input_shape, num_classes, anchors, anchors_mask, label_smoothing, focal_loss, focal_alpha, focal_gamma) #---------------------------#
# 创建yolo模型 #------------------------------------------------------# model_body = yolo_body((input_shape[0], input_shape[1], 3), anchors_mask, num_classes, phi=phi) if model_path != '': #------------------------------------------------------# # 载入预训练权重 #------------------------------------------------------# print('Load weights {}.'.format(model_path)) model_body.load_weights(model_path, by_name=True, skip_mismatch=True) if ngpus_per_node > 1: model = multi_gpu_model(model_body, gpus=ngpus_per_node) model = get_train_model(model, input_shape, num_classes, anchors, anchors_mask, label_smoothing) else: model = get_train_model(model_body, input_shape, num_classes, anchors, anchors_mask, label_smoothing) #---------------------------# # 读取数据集对应的txt #---------------------------# with open(train_annotation_path, encoding='utf-8') as f: train_lines = f.readlines() with open(val_annotation_path, encoding='utf-8') as f: val_lines = f.readlines() num_train = len(train_lines) num_val = len(val_lines) show_config(