# NoduleDetector

NoduleDetector模块提供结节检测，目前支持rpn，fpn结构。


## 模型训练

### 1. build custom op 

```
1. cd lungDetection3D/BaseDetector/custom_op
2. 执行脚本 python setup.py install
3. cp build/lib.linux-x86_64-3.6/custom_ops.so ../layers/lib

```

### 2. config 设置介绍(主要参数)

|  model params  |         info          |
| -------------- | --------------------- |
| WEIGHT            | 模型预训练权重    |

| training params |     info     |
| --------------- | ------------ |
| NUM_GPUS        | 需要的gpu个数 |
| BATCH_SIZE          | 训练集和验证集的batch大小 |
| TOTAL_EPOCHS | 最多训练的epoch数量 |
| OPTIMIZER       | 优化器的选择  |
| BASE_LR   | 学习率        |

|     DATA     |          info          |
| ------------------- | ---------------------- |
| DATA_DIR        | 训练数据路径(nii.gz) |
| TRAIN_DB/VALIDATE_DB  | 训练/验证数据db路径 |
| POS_TARGET_RANGE      | 作为正样本训练的征象列表 |
| NEG_TARGET_RANGE      | 作为负样本训练的征象列表 |
| FPN_DIAMETER_RANGE      | FPN每一层的数据长径范围 |
| SAVER_DIR             | model和tensorboard保存路径（defalt: ./results)|
| DIAMETERLIM    | scale范围 |
| AUGTYPE        | 数据增强方式 |


### 3. model training
```
1. 修改config.yml中SAVER_DIR，默认为./results
2. horovodrun -np 4 -H localhost:4 python run.py -t

```
------



