first commit
This commit is contained in:
20
Seg_All_In_One_MMSeg/※使用手册/1_MedSAM环境配置.txt
Normal file
20
Seg_All_In_One_MMSeg/※使用手册/1_MedSAM环境配置.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
################## MedSAM相关 ##################
|
||||
conda create -n medsam python=3.10 -y # conda remove -n medsam --all
|
||||
conda activate medsam
|
||||
git clone https://github.com/bowang-lab/MedSAM
|
||||
cd MedSAM
|
||||
pip install -e .
|
||||
pip install pydicom opencv-python
|
||||
|
||||
进行推理(给定函数)(使用默认数据集):
|
||||
python MedSAM_Inference.py -i ./data/Test -o ./data/Result -chk work_dir/MedSAM/medsam_20230423_vit_b_0.0.1.pth
|
||||
|
||||
################## 自建数据集相关 ##################
|
||||
|
||||
my_tools/Generate_data_sets_from_dicom.py # 将dicom变为训练文件 -> Annotate_pics.py
|
||||
|
||||
my_tools/Annotate_pics.py # 实现了对于影像的标注
|
||||
|
||||
################## 自建数据集相关 ##################
|
||||
Test_ALL_In_One.sh # 实现自动测试 -> Generate_data_sets_from_dicom.py、MedSAM_Inference.py
|
||||
使用方法:bash Test_ALL_In_One.sh -i <image_dir> -r <result_dir> -s <npz存储路径>
|
||||
76
Seg_All_In_One_MMSeg/※使用手册/1_环境配置
Normal file
76
Seg_All_In_One_MMSeg/※使用手册/1_环境配置
Normal file
@@ -0,0 +1,76 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
# 一、环境安装
|
||||
# 参考:https://github.com/open-mmlab/mmsegmentation/blob/main/docs/en/get_started.md#installation
|
||||
conda create --name openmmlab python=3.8 -y
|
||||
conda activate openmmlab
|
||||
sudo apt-get install jq # bash解析json工具
|
||||
pip install ftfy regex
|
||||
|
||||
# 查看是否有nvidia-smi、Cuda版本,没有的话,安装cuda12.1
|
||||
如果没有nvidia-smi需要重新安装驱动
|
||||
nvcc --version
|
||||
下载地址:https://developer.nvidia.com/cuda-12-1-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=runfile_local
|
||||
sudo sh cuda_12.1.0_530.30.02_linux.run
|
||||
|
||||
# 安装pytorch 安装12.1版本
|
||||
官网:https://pytorch.org/get-started/locally/官网:https://pytorch.org/get-started/locally/
|
||||
# 检查是否安装成功:
|
||||
import torch # 如果pytorch安装成功即可导入
|
||||
print(torch.cuda.is_available()) # 查看CUDA是否可用
|
||||
print(torch.cuda.device_count()) # 查看可用的CUDA数量
|
||||
print(torch.version.cuda) # 查看CUDA的版本号
|
||||
|
||||
# Install MMCV using MIM.
|
||||
pip install -U openmim
|
||||
mim install mmengine
|
||||
pip install mmcv==2.2.0 # -f https://download.openmmlab.com/mmcv/dist/cu121/torch2.4/index.html
|
||||
|
||||
# Install MMSegmentation.
|
||||
git clone -b main https://github.com/open-mmlab/mmsegmentation.git
|
||||
cd mmsegmentation
|
||||
pip install -v -e .
|
||||
|
||||
# Verify the installation
|
||||
mim download mmsegmentation --config pspnet_r50-d8_4xb2-40k_cityscapes-512x1024 --dest .
|
||||
python demo/image_demo.py demo/demo.png configs/pspnet/pspnet_r50-d8_4xb2-40k_cityscapes-512x1024.py pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth --device cuda:0 --out-file result.jpg
|
||||
|
||||
# 查看是否有输出,并且删除相关输出内容
|
||||
ls | grep result.jpg
|
||||
rm pspnet_r50-d8_4xb2-40k_cityscapes-512x1024.py pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth result.jpg
|
||||
|
||||
### 额外下载 ####
|
||||
mim install mmdet
|
||||
sudo apt-get update && sudo apt-get install libgl1
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
# 二、修改内容
|
||||
# 1. 实现使用test.py时每隔1个输出
|
||||
1.修改tools/test.py中的visualization_hook
|
||||
在trigger_visualization_hook函数中加入"visualization_hook['interval'] = 1"
|
||||
_____________________________________________________
|
||||
# 2. 修改数据集,训练自己的数据
|
||||
1.新增dataset(my_dataset)数据集基本信息
|
||||
mmseg/datasets/__init__.py 中新增数据集
|
||||
新建 mmseg/datasets/my_dataset.py 可参考stare.py进行构造
|
||||
python setup.py install # 进行链接
|
||||
2.新增dataset(my_dataset)数据集信息
|
||||
新建 configs/_base_/datasets/my_dataset.py 可参考stare.py进行构造
|
||||
_____________________________________________________
|
||||
# 3. 通过mmseg/apis/inference.py 中的 init_model, inference_model, show_result_pyplot 输出分割图片
|
||||
1.创建 tools/save_test_pics.py 程序,在--cfg-options中增加控制参数
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
# 三、附:
|
||||
# 1.tmux配置
|
||||
sudo apt install tmux
|
||||
echo '# Display color
|
||||
set -g default-terminal "screen-256color"' | tee ~/.tmux.conf
|
||||
|
||||
2.conda环境重命名
|
||||
# 克隆conda环境
|
||||
conda create -n openmmlab_old --clone openmmlab
|
||||
# 删除conda环境
|
||||
conda remove -n openmmlab --all
|
||||
14
Seg_All_In_One_MMSeg/※使用手册/2_报错与解决
Normal file
14
Seg_All_In_One_MMSeg/※使用手册/2_报错与解决
Normal file
@@ -0,0 +1,14 @@
|
||||
0.自定义数据集参考:
|
||||
mmseg/datasets/stare.py
|
||||
configs/_base_/datasets/stare.py
|
||||
|
||||
1.自定义数据集构建相关问题:
|
||||
提示’MYDataset is not in the dataset registry’
|
||||
python setup.py install # 运行此命令即可解决
|
||||
# 参考网站:https://blog.csdn.net/qq_43199876/article/details/128000202
|
||||
|
||||
2.RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.FloatTensor [2, 512, 27, 27]], which is output 0 of ReluBackward0, is at version 1; expected version 0 instead.
|
||||
Turns out the uper_head.py code in mmseg/models/decode_heads will throw an error on line 104 due to the +=/-= operation.
|
||||
# 由于/mmseg/models/XXX有+=/-=操作
|
||||
重新运行:python setup.py install # 运行此命令即可解决
|
||||
# 参考网站:https://github.com/SwinTransformer/Swin-Transformer-Semantic-Segmentation/issues/60
|
||||
2
Seg_All_In_One_MMSeg/※使用手册/3_操作手册
Normal file
2
Seg_All_In_One_MMSeg/※使用手册/3_操作手册
Normal file
@@ -0,0 +1,2 @@
|
||||
cd Seg_new
|
||||
bash Train_All_in_one.sh
|
||||
8
Seg_All_In_One_MMSeg/※使用手册/4_算法相关信息
Normal file
8
Seg_All_In_One_MMSeg/※使用手册/4_算法相关信息
Normal file
@@ -0,0 +1,8 @@
|
||||
# optim_wrapper
|
||||
# AMP
|
||||
optim_wrapper = dict(
|
||||
_delete_=True,
|
||||
type='AmpOptimWrapper',
|
||||
optimizer=dict(type='SGD', lr=0.05, momentum=0.9, weight_decay=0.0005),
|
||||
loss_scale=512.)
|
||||
bX(e.g.b4/b8)是batchsize
|
||||
94
Seg_All_In_One_MMSeg/※使用手册/MMseg_操作手册.txt
Normal file
94
Seg_All_In_One_MMSeg/※使用手册/MMseg_操作手册.txt
Normal file
@@ -0,0 +1,94 @@
|
||||
# 克隆、装环境
|
||||
git clone git@github.com:open-mmlab/mmsegmentation.git
|
||||
cd mmsegmentation
|
||||
pip install -v -e .
|
||||
|
||||
# 进行测试
|
||||
mim download mmsegmentation --config pspnet_r50-d8_512x1024_40k_cityscapes --dest .
|
||||
python demo/image_demo.py demo/demo.png configs/pspnet/pspnet_r50-d8_512x1024_40k_cityscapes.py pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth --device cuda:0 --out-file result.jpg
|
||||
# 查看是否可以生成result.jpg
|
||||
rm pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth result.jpg
|
||||
|
||||
# 激活环境
|
||||
conda activate openmmlab
|
||||
|
||||
# 修改各类文件
|
||||
文件修改结果请见"configs"、"mmseg"
|
||||
|
||||
|
||||
# 训练方式
|
||||
tmux new -t train
|
||||
# 单卡
|
||||
python tools/train.py configs/danet/my_danet_r50-d8_512x512_40k_voc12aug.py --work-dir work_dirs/my_danet_r50-d8_512x512_40k_voc12aug_class_2/
|
||||
# 多卡
|
||||
alg="my_danet_r50-d8_512x512_40k_voc12aug"
|
||||
tag="_class_3"
|
||||
mul="_mul"
|
||||
mkdir ./work_dirs_mul/$alg$tag/
|
||||
bash tools/dist_train.sh configs/danet/$alg.py 3 --work-dir ./work_dirs$mul/$alg$tag/ --deterministic
|
||||
|
||||
|
||||
# 传输图片
|
||||
# 背景为255
|
||||
rsync -avtP -e "ssh -p 1005" /home/zub/Desktop/Seg/Pics/Label_Generate_1/* root@temp.2018xjtu.tk:/root/Seg_new/data/my_dataset/ann_dir/validation
|
||||
rsync -avtP -e "ssh -p 1005" /home/zub/Desktop/Seg/Pics/Label_Generate_1/* root@temp.2018xjtu.tk:/root/Seg_new/data/my_dataset/ann_dir/training
|
||||
# 背景为0
|
||||
rsync -avtP -e "ssh -p 1005" /home/zub/Desktop/Seg/important_Pics/Label_Generate_1/* root@temp.2018xjtu.tk:/root/Seg_new/data/my_dataset/ann_dir/validation
|
||||
rsync -avtP -e "ssh -p 1005" /home/zub/Desktop/Seg/important_Pics/Label_Generate_1/* root@temp.2018xjtu.tk:/root/Seg_new/data/my_dataset/ann_dir/training
|
||||
# 原始图片
|
||||
rsync -avtP -e "ssh -p 1005" /home/zub/Desktop/Seg/Pics/Ori/* root@temp.2018xjtu.tk:/root/Seg_new/data/my_dataset/img_dir/validation
|
||||
rsync -avtP -e "ssh -p 1005" /home/zub/Desktop/Seg/Pics/Ori/* root@temp.2018xjtu.tk:/root/Seg_new/data/my_dataset/img_dir/training
|
||||
|
||||
# 测试方式
|
||||
# 单卡
|
||||
XXX=iter_4000
|
||||
best=best_mIoU_iter_12000
|
||||
mul="" # 多卡为"_mul"
|
||||
# 测试某一个模型结果
|
||||
rm data/my_dataset/result/$XXX/*
|
||||
mkdir -p data/my_dataset/result/$XXX/
|
||||
python tools/test.py configs/danet/my_danet_r50-d8_512x512_40k_voc12aug.py \
|
||||
work_dirs$mul/my_danet_r50-d8_512x512_40k_voc12aug_class_2/$XXX.pth \
|
||||
--show-dir data/my_dataset/result/$XXX/
|
||||
# --out data/my_dataset/result
|
||||
# 测试最佳模型结果
|
||||
rm data/my_dataset/result/$best/*
|
||||
mkdir -p data/my_dataset/result/$best/
|
||||
python tools/test.py configs/danet/my_danet_r50-d8_512x512_40k_voc12aug.py \
|
||||
work_dirs$mul/my_danet_r50-d8_512x512_40k_voc12aug_class_2/$best.pth \
|
||||
--show-dir data/my_dataset/result/$best/
|
||||
# --out data/my_dataset/result
|
||||
|
||||
# 多卡
|
||||
XXX="iter_10000"
|
||||
alg="my_danet_r50-d8_512x512_40k_voc12aug"
|
||||
tag="_class_3"
|
||||
mul="_mul"
|
||||
|
||||
rm data/my_dataset/result/$alg/$XXX$tag/*
|
||||
mkdir -p data/my_dataset/result/$alg/$XXX$tag/
|
||||
python tools/test.py configs/danet/$alg.py \
|
||||
work_dirs$mul/$alg/$XXX.pth \
|
||||
--show-dir data/my_dataset/result/$alg/$XXX$tag/ --opacity 1
|
||||
|
||||
XXX="iter_40000"
|
||||
tag_of_file="_train_199_test_Max" # _test_MAX
|
||||
alg="my_danet_r50-d8_512x512_40k_voc12aug"
|
||||
tag="_class_3"
|
||||
mul="_mul"
|
||||
# rm data/my_dataset/result/$XXX$tag_of_file/*
|
||||
mkdir -p data/my_dataset/result/$XXX$tag_of_file/
|
||||
python tools/test.py configs/danet/my_danet_r50-d8_512x512_40k_voc12aug.py \
|
||||
work_dirs$mul/$alg$tag/$XXX.pth \
|
||||
--show-dir data/my_dataset/result/$XXX$tag_of_file/ --opacity 1
|
||||
# --out data/my_dataset/result
|
||||
|
||||
tag_of_file="_train_Max_test_Max" # _test_MAX
|
||||
mkdir -p data/my_dataset/result/my_danet_r50-d8_512x512_40k_voc12aug_class_309_13__02_26_$tag_of_file/
|
||||
python tools/test.py configs/danet/my_danet_r50-d8_512x512_40k_voc12aug.py \
|
||||
work_dirs_mul/my_danet_r50-d8_512x512_40k_voc12aug_class_309_13__02_26/iter_40000.pth \
|
||||
--show-dir data/my_dataset/result/my_danet_r50-d8_512x512_40k_voc12aug_class_309_13__02_26_$tag_of_file/ --opacity 1
|
||||
# --out data/my_dataset/result
|
||||
|
||||
|
||||
|
||||
65
Seg_All_In_One_MMSeg/※使用手册/mmseg数据集生成相关
Normal file
65
Seg_All_In_One_MMSeg/※使用手册/mmseg数据集生成相关
Normal file
@@ -0,0 +1,65 @@
|
||||
_base_ = [
|
||||
'../_base_/models/vars_file.alg_base_dir',
|
||||
'../_base_/datasets/vars_file.dataset_file_name', #换成自己定义的数据集
|
||||
'../_base_/default_runtime.py',
|
||||
'../_base_/schedules/schedule_vars_file.schedule_k_timesk.py'
|
||||
]
|
||||
crop_size = (vars_file.crop_size_w, vars_file.crop_size_h)
|
||||
data_preprocessor = dict(size=crop_size)
|
||||
model = dict(
|
||||
pretrained='open-mmlab://vars_file.pretrained_model',
|
||||
backbone=dict(depth=vars_file.pretrained_depth),
|
||||
data_preprocessor=data_preprocessor,
|
||||
decode_head=dict(
|
||||
num_classes=vars_file.class_num, # TODO 设置不同分类种类
|
||||
loss_decode=dict(type='DiceLoss', use_sigmoid=False, loss_weight=1.0), # TODO 设置不同分类种类,它根据预测结果和真实标签的重叠区域来度量相似性
|
||||
# align_corners=True,
|
||||
# align_corners=False, # 在不用slide时
|
||||
),
|
||||
auxiliary_head=dict(
|
||||
num_classes=vars_file.class_num, # TODO 设置不同分类种类
|
||||
loss_decode=dict(type='DiceLoss', use_sigmoid=False, loss_weight=1.0), # TODO 设置不同分类种类,它根据预测结果和真实标签的重叠区域来度量相似性
|
||||
# align_corners=True,
|
||||
# align_corners=False, # 在不用slide时
|
||||
),
|
||||
# test_cfg=dict(mode='slide', crop_size=(vars_file.crop_size_w, vars_file.crop_size_h), stride=(vars_file.crop_size_w, vars_file.crop_size_w))
|
||||
)
|
||||
|
||||
# optimizer(优化器设计)TODO
|
||||
optim_wrapper = dict(
|
||||
type='OptimWrapper',
|
||||
_delete_=True,
|
||||
optimizer=dict(type='AdamW', lr=0.0001, weight_decay=0.0005),
|
||||
clip_grad=dict(max_norm=1, norm_type=2))
|
||||
|
||||
param_scheduler = [
|
||||
dict(
|
||||
type='LinearLR', start_factor=1e-6, by_epoch=False, begin=0, end=1500),
|
||||
dict(
|
||||
type='PolyLR',
|
||||
power=1.0,
|
||||
begin=1500,
|
||||
end=160000,
|
||||
eta_min=0.0,
|
||||
by_epoch=False,
|
||||
)
|
||||
]
|
||||
|
||||
# optim_wrapper = dict(
|
||||
# _delete_=True,
|
||||
# type='OptimWrapper',
|
||||
# optimizer=dict(type='AdamW', lr=0.0005, weight_decay=0.05),
|
||||
# clip_grad=dict(max_norm=1, norm_type=2))
|
||||
# # learning policy
|
||||
# param_scheduler = [
|
||||
# dict(
|
||||
# type='LinearLR', start_factor=0.001, by_epoch=False, begin=0,
|
||||
# end=1000),
|
||||
# dict(
|
||||
# type='MultiStepLR',
|
||||
# begin=1000,
|
||||
# end=80000,
|
||||
# by_epoch=False,
|
||||
# milestones=[60000, 72000],
|
||||
# )
|
||||
# ]
|
||||
115
Seg_All_In_One_MMSeg/※使用手册/※2025_9_23_MMSeg使用手册
Normal file
115
Seg_All_In_One_MMSeg/※使用手册/※2025_9_23_MMSeg使用手册
Normal file
@@ -0,0 +1,115 @@
|
||||
############## A. 创建conda环境 ##############
|
||||
# 参考:https://github.com/open-mmlab/mmsegmentation/blob/main/docs/en/get_started.md#installation
|
||||
# 1. 可选
|
||||
conda create --name openmmlab python=3.8 -y
|
||||
conda activate openmmlab
|
||||
|
||||
# 2. 安装必备组件
|
||||
sudo apt-get install jq # bash解析json工具
|
||||
pip install ftfy regex tensorboard wandb seaborn fvcore
|
||||
pip install weave -no-compile
|
||||
wandb login
|
||||
|
||||
# 3. 查看是否有nvidia-smi、Cuda版本,没有的话,安装cuda12.X
|
||||
如果没有nvidia-smi需要重新安装驱动
|
||||
nvcc --version
|
||||
|
||||
# 4. 安装和CUDA 版本对应的 pytorch
|
||||
官网:https://pytorch.org/get-started/locally/官网:https://pytorch.org/get-started/locally/
|
||||
检查是否安装成功:
|
||||
python
|
||||
import torch # 如果pytorch安装成功即可导入
|
||||
print(torch.cuda.is_available()) # 查看CUDA是否可用
|
||||
print(torch.cuda.device_count()) # 查看可用的CUDA数量
|
||||
print(torch.version.cuda) # 查看CUDA的版本号
|
||||
|
||||
# 5. 使用 MIN 安装 MMCV.
|
||||
pip install -U openmim
|
||||
mim install mmengine
|
||||
pip install mmcv==2.2.0 # -f https://download.openmmlab.com/mmcv/dist/cu121/torch2.4/index.html
|
||||
|
||||
# 6. 安装 MMSegmentation.
|
||||
# git clone -b main https://github.com/open-mmlab/mmsegmentation.git # 不需要下载了
|
||||
cd mmsegmentation 或 cd Seg_All_In_One_MMSeg
|
||||
pip install -v -e .
|
||||
# V1. 安装无cuda算子的mmcv如果发现mmcv版本超了,需要mmcv<2.2.0
|
||||
pip uninstall mmcv-full 或 pip uninstall mmcv
|
||||
pip install mmcv==2.1.0
|
||||
# V2. 安装带有cuda算子的mmcv-full # 参考:https://mmcv.readthedocs.io/en/latest/get_started/build.html
|
||||
git clone https://github.com/open-mmlab/mmcv.git
|
||||
cd mmcv
|
||||
# 可选
|
||||
git checkout tags/v2.1.0 # 切换到 2.1.0 版本
|
||||
MMCV_WITH_OPS=1 pip install -r requirements/optional.txt # 它告诉编译脚本要构建 mmcv-full 的版本
|
||||
pip install -e . -v
|
||||
python .dev_scripts/check_installation.py # 检查安装是否成功
|
||||
### 额外下载 ####
|
||||
mim install mmdet
|
||||
sudo apt-get update && sudo apt-get install libgl1
|
||||
|
||||
# 7. 检查安装是否正确
|
||||
# 下载测试数据及代码
|
||||
mim download mmsegmentation --config pspnet_r50-d8_4xb2-40k_cityscapes-512x1024 --dest .
|
||||
python demo/image_demo.py demo/demo.png configs/pspnet/pspnet_r50-d8_4xb2-40k_cityscapes-512x1024.py pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth --device cuda:0 --out-file result.jpg
|
||||
# 查看是否有输出,并且删除相关输出内容
|
||||
ls | grep result.jpg
|
||||
rm pspnet_r50-d8_4xb2-40k_cityscapes-512x1024.py pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth result.jpg
|
||||
|
||||
############## B.0. 定义 Train 训练程序 ##############
|
||||
1. 观察 ./configs/Alg_name 目录下的算法配置文件,查看算法构成,查看是否有预训练模型
|
||||
观察 ./configs/_base_/models/Alg_name.py 的模型文件
|
||||
2. 有预训练模型则修改 ./My_All_In_One/0_Initial_Save_All_Model_locally.py 加入下载;
|
||||
修改 ./My_All_In_One/Initial_Alg_Program/Initial_Alg_Select_Tool.py 加入选项;
|
||||
3. 参考 ./My_All_In_One/2_Alg_Program 生成属于自己的 my_Alg_name.py 文件
|
||||
|
||||
############## B.1. 定义 Alg 训练算法 ##############
|
||||
1. 观察需要修改的是哪个部分./mmseg/models/backbones 或 decode_heads 或 losses 或 necks 等
|
||||
2. 将需改后的模型放入文件夹中
|
||||
3. 修改其中的 __init__.py 文件,加入对应类名
|
||||
4. 在 ./configs/_base_/models 中修改对应算法基础配置 e.g. my_bisenetv2_A1.py
|
||||
5. 在 ./configs/Alg_name 中修改对应算法配置 e.g. my_bisenetv2_A1_XXX.py
|
||||
6. python setup.py install # 注册数据集
|
||||
|
||||
############## B. Train 训练程序 ##############
|
||||
# 0. 下载必要模型权重
|
||||
cd Seg_All_In_One_MMSeg
|
||||
python 0_Initial_Save_All_Model_locally.py
|
||||
|
||||
# 1. 准备数据集(使用脚本)
|
||||
cd Seg_All_In_One_MMSeg/1_Data_Parameter
|
||||
参考重新定义脚本:my_dataset_model.json # 定义脚本
|
||||
cd Seg_All_In_One_MMSeg
|
||||
python 1_Initial_Data_All_data_from_1_Data_Parameter-V2.py
|
||||
python setup.py install # 注册数据集
|
||||
# 1. 自定义数据集(不推荐)
|
||||
参考:mmseg/datasets/stare.py && configs/_base_/datasets/stare.py
|
||||
参考:mmseg/datasets/my_dataset_model.py && configs/_base_/datasets/my_dataset_model.py
|
||||
|
||||
# 2. 初始化算法(使用脚本)
|
||||
python ./My_All_In_One/2_Initial_Alg_All_data_from_2_Alg_Program-V2.py # 会自动输出训练程序
|
||||
# 2. 自定义算法(人工定义)
|
||||
训练执行代码:configs/alg_name/alg_name_XXX.py
|
||||
底层骨架代码:mmseg/models/backbones/alg_name.py && mmseg/models/backbones/__init__.py
|
||||
底层schedules代码:mmseg/configs/_base_/schedules
|
||||
# 新建算法、新建数据集后重新设置索引
|
||||
python setup.py install # 运行此命令即可解决
|
||||
|
||||
# 3. 训练后删除不符合标准的pth(节省空间)
|
||||
# 修改其中的 target_directory 、 运行两次
|
||||
python ./My_All_In_One/3_Find_And_Delete_Special_Epoch.py
|
||||
|
||||
# 4. 训练后移动算法
|
||||
bash ./My_All_In_One/3_Tool_Copy_Result_To_Hardisk.sh
|
||||
|
||||
############## C. Predict 推理程序 ##############
|
||||
# 1. 预测模型 参数量、FLOPs、FPS
|
||||
CUDA_VISIBLE_DEVICES=0 python My_All_In_One/4_1_predict_params_FLOPs_FPS_V2.py
|
||||
# 2. 预测模型 指标
|
||||
CUDA_VISIBLE_DEVICES=0 python My_All_In_One/4_2_predict_matrics_from_log_V2.py
|
||||
# 3. 生成模型结果
|
||||
CUDA_VISIBLE_DEVICES=0 python My_All_In_One/4_3_predict_draw_pictures_and_tabels.py
|
||||
# 4. 训练损失摘录
|
||||
CUDA_VISIBLE_DEVICES=3 python My_All_In_One/4_4_extract_loss_and_best_miou.py
|
||||
|
||||
############## D. 其他注意事项 ##############
|
||||
1. 将vis_backends、visualizer相关hook定义放在./My_All_In_One/Initial_Alg_Program/Initial_Alg_Gen_Tool.py 的write_config_to_file函数中了# 批量将参数内容写入文件 # V2 加入训练过程可视化 TODO
|
||||
Reference in New Issue
Block a user