%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# 一、环境安装
# 参考：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
