结节分割模型训练、测试流程
=========================================



训练
-------------------------------
* 脚本： train.py
* config文件变量：train.py中的path
* config文件中需要修改的参数
    * base_path： 模型weights存储的基础路径
    * prefix：模型存储的folder名字
    * train_file/val_file：训练、验证数据所在的路径，需要根据服务器实际训练、测试数据路径修改
* 流程：
    * 修改上述参数
    * 修改train.py中指定的gpu【os.environ["CUDA_VISIBLE_DEVICES"]="1"】 把"1" 改为可使用的gpu 号
    * 运行脚本：python train.py
    * 运行结束后会显示存储结果到base_path/prefix/history.json
    
    
评估
--------------------------------
* 找到loss最低的weights：
    * 路径在在训练阶段指定的base_path/prefix目录下，weights以Train-epoch_number-loss_value.hdf5的形式存储。找到epoch_number最大的一个hdf5是最好的weights（loss最低），记录器loss值（loss_value）部分
    * 上个版本结果(train_loss)：weights名字为Train-25-0.81136.hdf5,loss为0.81136.hdf5



测试（当前版本不使用）
-------------------------------
* 脚本：test.py
* config文件变量：test.py中的path
* 对应config中需要修改的参数：
    * pre_model_file：训练中loss最低的模型的weights。在训练阶段指定的base_path/prefix目录下，weights以Train-epoch_number-loss_val.hdf5的形式存储。找到epoch_number最大的一个hdf5是最好的weights，将其完整路径写在pre_model_file下。如：/hdd/disk4/Segmentation/Weights/GroupLungUnetTestAtrous24Stride16_TLossNoBShenheDataAddXK01_FilterLarge_ChangeParamsIncreaseDiameterEnlargeRatio_0525/Train-36-0.78317.hdf5
    
    
    
    * test_file：指定测试数据的路径，修改成服务器上测试patch的绝对路径
* 流程：
    * 修改上述参数
    * 修改test.py中指定的gpu
    * 运行脚本：python test.py
    * 统计结果：
        * 目前结果统计是按照： 全部结节/0-4mm/4-10mm/10-30mm/30mm以上/4mm以上（相对比较有临床意义）统计的
    * 与声称结果对比