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



训练
-------------------------------
* 脚本: 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以上(相对比较有临床意义)统计的
    * 与声称结果对比