""" Mask R-CNN 基础配置类. Copyright (c) 2017 Matterport, Inc. Licensed under the MIT License (see LICENSE for details) Written by Waleed Abdulla """ #导入库 import math import numpy as np # 基础配置 # 不要直接使用它,而是进行子类化,将自己需要修改的地方覆盖代码相应的地方。 #定义一个基础配置的类。 class Config(object): """对于这个基础配置,是为了自定义配置,应用时可以创建一个子类继承它,并修改符合需要的属性。 """ # 下面是名称的配置,例如NAME = coco,当我们的代码在不同的实验中需要执行不同的操作时,这是很有用的。 NAME = None # 根据不同的实验要求修改None。 # 使用的gpu的数量,当使用cpu训练时,数量为1 GPU_COUNT = 1 # 每个GPU上要训练的图像数。一个12 GB的GPU通常可以处理2张1024x1024像素的图像。 # 根据您的GPU内存和图像大小进行调整。使用GPU能够处理的最高数字,以获得最佳性能 IMAGES_PER_GPU = 2 # steps_per_epoch为keras中的fit_generator函数中的参数,可以理解为每轮迭代多少次,fit_generator就是 # 因为训练集太大而设置的自动生成batch的函数,当这轮生成的batch数达到steps_per_epoch就进行下一个epoch。 # steps_per_epoch不需要考虑训练集大小,tensorboard会自动更新并在每个epoch结束时保存更新,此参数小意味着tensorboard更新的快。 # 验证集也是在epoch最后记录的,而且比较花时间,所以steps_per_epoch不要设置太小,避免在验证上花大量时间。 #按需求修改参数值 STEPS_PER_EPOCH = 1000 # validation_steps也是fit_generator中的参数,当validation_data为验证集生成器时,validation_steps同样是验证集一轮的迭代次数, # 即生成的batch数,此参数越大验证越精确,但同样训练的也越慢。 # 在keras中,steps一般就是batchs of samples。 #按需求修改参数值。 VALIDATION_STEPS = 50 # 主干网络结构,resnet50 or