提交 9efb0100 编写于 作者: S sunyanfang01

add faster_rcnn.py and yolov3.py code

上级 63ac758d
...@@ -176,7 +176,7 @@ class FasterRCNN(BaseAPI): ...@@ -176,7 +176,7 @@ class FasterRCNN(BaseAPI):
log_interval_steps (int): 训练日志输出间隔(单位:迭代次数)。默认为20。 log_interval_steps (int): 训练日志输出间隔(单位:迭代次数)。默认为20。
save_dir (str): 模型保存路径。默认值为'output'。 save_dir (str): 模型保存路径。默认值为'output'。
pretrain_weights (str): 若指定为路径时,则加载路径下预训练模型;若为字符串'IMAGENET', pretrain_weights (str): 若指定为路径时,则加载路径下预训练模型;若为字符串'IMAGENET',
则自动下载在ImageNet图片数据上预训练的模型权重;若为None,则不使用预训练模型。默认为None 则自动下载在ImageNet图片数据上预训练的模型权重;若为None,则不使用预训练模型。默认为'IMAGENET'
optimizer (paddle.fluid.optimizer): 优化器。当该参数为None时,使用默认优化器: optimizer (paddle.fluid.optimizer): 优化器。当该参数为None时,使用默认优化器:
fluid.layers.piecewise_decay衰减策略,fluid.optimizer.Momentum优化方法。 fluid.layers.piecewise_decay衰减策略,fluid.optimizer.Momentum优化方法。
learning_rate (float): 默认优化器的初始学习率。默认为0.0025。 learning_rate (float): 默认优化器的初始学习率。默认为0.0025。
...@@ -194,11 +194,12 @@ class FasterRCNN(BaseAPI): ...@@ -194,11 +194,12 @@ class FasterRCNN(BaseAPI):
if metric is None: if metric is None:
if isinstance(train_dataset, paddlex.datasets.CocoDetection): if isinstance(train_dataset, paddlex.datasets.CocoDetection):
metric = 'COCO' metric = 'COCO'
elif isinstance(train_dataset, paddlex.datasets.VOCDetection): elif isinstance(train_dataset, paddlex.datasets.VOCDetection) or \
isinstance(train_dataset, paddlex.datasets.EasyDataDet):
metric = 'VOC' metric = 'VOC'
else: else:
raise ValueError( raise ValueError(
"train_dataset should be datasets.VOCDetection or datasets.COCODetection." "train_dataset should be datasets.VOCDetection or datasets.COCODetection or datasets.EasyDataDet."
) )
assert metric in ['COCO', 'VOC'], "Metric only support 'VOC' or 'COCO'" assert metric in ['COCO', 'VOC'], "Metric only support 'VOC' or 'COCO'"
self.metric = metric self.metric = metric
......
...@@ -175,7 +175,7 @@ class YOLOv3(BaseAPI): ...@@ -175,7 +175,7 @@ class YOLOv3(BaseAPI):
log_interval_steps (int): 训练日志输出间隔(单位:迭代次数)。默认为10。 log_interval_steps (int): 训练日志输出间隔(单位:迭代次数)。默认为10。
save_dir (str): 模型保存路径。默认值为'output'。 save_dir (str): 模型保存路径。默认值为'output'。
pretrain_weights (str): 若指定为路径时,则加载路径下预训练模型;若为字符串'IMAGENET', pretrain_weights (str): 若指定为路径时,则加载路径下预训练模型;若为字符串'IMAGENET',
则自动下载在ImageNet图片数据上预训练的模型权重;若为None,则不使用预训练模型。默认为None 则自动下载在ImageNet图片数据上预训练的模型权重;若为None,则不使用预训练模型。默认为'IMAGENET'
optimizer (paddle.fluid.optimizer): 优化器。当该参数为None时,使用默认优化器: optimizer (paddle.fluid.optimizer): 优化器。当该参数为None时,使用默认优化器:
fluid.layers.piecewise_decay衰减策略,fluid.optimizer.Momentum优化方法。 fluid.layers.piecewise_decay衰减策略,fluid.optimizer.Momentum优化方法。
learning_rate (float): 默认优化器的学习率。默认为1.0/8000。 learning_rate (float): 默认优化器的学习率。默认为1.0/8000。
...@@ -198,11 +198,12 @@ class YOLOv3(BaseAPI): ...@@ -198,11 +198,12 @@ class YOLOv3(BaseAPI):
if metric is None: if metric is None:
if isinstance(train_dataset, paddlex.datasets.CocoDetection): if isinstance(train_dataset, paddlex.datasets.CocoDetection):
metric = 'COCO' metric = 'COCO'
elif isinstance(train_dataset, paddlex.datasets.VOCDetection): elif isinstance(train_dataset, paddlex.datasets.VOCDetection) or \
isinstance(train_dataset, paddlex.datasets.EasyDataDet):
metric = 'VOC' metric = 'VOC'
else: else:
raise ValueError( raise ValueError(
"train_dataset should be datasets.VOCDetection or datasets.COCODetection." "train_dataset should be datasets.VOCDetection or datasets.COCODetection or datasets.EasyDataDet."
) )
assert metric in ['COCO', 'VOC'], "Metric only support 'VOC' or 'COCO'" assert metric in ['COCO', 'VOC'], "Metric only support 'VOC' or 'COCO'"
self.metric = metric self.metric = metric
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册