# DenseNet_Train_Model **Repository Path**: xbw12138/DenseNet_Train_Model ## Basic Information - **Project Name**: DenseNet_Train_Model - **Description**: DenseNet Train Model - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-12-19 - **Last Updated**: 2024-03-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ICIAR2018_BACH_Challenge ## 1染色归一化 ### 1.1配置环境 ``` conda create -n color conda activate color pip install numpy pip install opencv-python ``` ### 1.2文件目录 在数据集中挑选一张图像做为source.tif 在Photos目录下新建Normalization文件夹存放染色归一化后的数据集 ### 1.3执行 ``` chmod +x batch.sh ./batch.sh ``` ------- ## 2图像分割 ### 2.1配置环境 ``` conda create -n color conda activate color pip install numpy pip install opencv-python ``` ### 2.2文件目录 在Photos目录下新建Patches文件夹存放分割切片后的数据集,分割大小512*512 步长256 ### 2.3执行 ``` python split.py -i Photos/Normalization/Benign -o Photos/Patches/Benign python split.py -i Photos/Normalization/InSitu -o Photos/Patches/InSitu python split.py -i Photos/Normalization/Invasive -o Photos/Patches/Invasive python split.py -i Photos/Normalization/Normal -o Photos/Patches/Normal ``` ------- ## 3数据增强 ### 3.1配置环境 ``` conda create -n color conda activate color pip install numpy pip install opencv-python ``` ### 3.2文件目录 在Photos目录下新建Augmentation文件夹存放旋转,翻转后的数据集,1原图,2逆时针90度,3逆时针180度,4逆时针270度,5垂直翻转,6水平翻转 ### 3.3执行 ``` python augment.py -i Photos/Patches/Benign -o Photos/Augmentation/Benign python augment.py -i Photos/Patches/InSitu -o Photos/Augmentation/InSitu python augment.py -i Photos/Patches/Invasive -o Photos/Augmentation/Invasive python augment.py -i Photos/Patches/Normal -o Photos/Augmentation/Normal ``` ------- ## 4合并图像分割与数据增强 ### 4.1说明 需要在染色归一化后划分数据集,60:20:20,训练集/验证集/测试集,所以归一化后最好一步到位。 ### 4.2配置环境 ``` conda create -n color conda activate color pip install numpy pip install opencv-python ``` ### 4.3文件目录 在Photos目录下新建Augmentation文件夹存放直接从染色归一化后的图像旋转,翻转后的数据集,1原图,2逆时针90度,3逆时针180度,4逆时针270度,5垂直翻转,6水平翻转 ### 4.4执行 ``` python split_augment.py -i Photos/Normalization/train/Benign -o Photos/Augmentation/Benign python split_augment.py -i Photos/Normalization/train/InSitu -o Photos/Augmentation/InSitu python split_augment.py -i Photos/Normalization/train/Invasive -o Photos/Augmentation/Invasive python split_augment.py -i Photos/Normalization/train/Normal -o Photos/Augmentation/Normal ``` ------- ## 5采用DenseNet网络训练模型 ### 5.1配置环境 ``` conda create -n color conda activate color conda install pytorch pip install torchvision ``` ### 5.2参数说明 Densenet for ICIAR2018 positional arguments: action 输入train or test optional arguments: -h, --help show this help message and exit --dataset DATASET, -d DATASET 数据集路径 --depth DEPTH, -t DEPTH DenseNet深度,默认40 --growth_rate GROWTH_RATE, -g GROWTH_RATE DenseNet增长率,默认12 --num_classes NUM_CLASSES, -n NUM_CLASSES 几分类,默认4 --epoch EPOCH, -e EPOCH 训练轮数,默认200 --batch_size BATCH_SIZE, -b BATCH_SIZE 数据批数,默认20,即一轮训练20条数据 --ckpt CKPT, -c CKPT 训练模型保存文件,以及测试集需要模型,默认model.pth ### 5.3执行 ``` python train.py -d Photos/Augmentation/ train ``` ------- ## 6数据随机增强随机分割 ### 6.1说明 1. 使用两种参数,随机分割为512 * 512或 1024 * 1024 2. 每种图像生成12张图像 ### 6.2配置环境 ``` conda create -n color conda activate color conda install pytorch pip install torchvision ``` ### 6.3执行 1. 分割1024大小 ``` python random_augment_split.py -i Photos/Normalization/train/Benign -o Photos/Augmentation_Random_1024_12/Benign -s 1024 -n 12 python random_augment_split.py -i Photos/Normalization/train/InSitu -o Photos/Augmentation_Random_1024_12/InSitu -s 1024 -n 12 python random_augment_split.py -i Photos/Normalization/train/Invasive -o Photos/Augmentation_Random_1024_12/Invasive -s 1024 -n 12 python random_augment_split.py -i Photos/Normalization/train/Normal -o Photos/Augmentation_Random_1024_12/Normal -s 1024 -n 12 ``` 2. 分割512大小 ``` python random_augment_split.py -i Photos/Normalization/train/Benign -o Photos/Augmentation_Random_512_12/Benign -s 512 -n 12 python random_augment_split.py -i Photos/Normalization/train/InSitu -o Photos/Augmentation_Random_512_12/InSitu -s 512 -n 12 python random_augment_split.py -i Photos/Normalization/train/Invasive -o Photos/Augmentation_Random_512_12/Invasive -s 512 -n 12 python random_augment_split.py -i Photos/Normalization/train/Normal -o Photos/Augmentation_Random_512_12/Normal -s 512 -n 12 ``` ------- ## 7数据随机增强随机分割(Plus) ### 7.1说明 size, num控制分割图像的大小与随机增强的个数 ### 7.2配置环境 ``` conda create -n color conda activate color conda install pytorch pip install torchvision ``` ### 7.3执行 1. 分割224大小,240张 ``` python random_augment_split.py -i Photos/Normalization/train -s 224 -n 240 ``` -------