代码
GitHub - huaaaliu/RGBX_Semantic_Segmentation
一、 环境配置
conda create -n rgbx python=3.7 -y
conda activate rgbx
conda install pytorch=1.8.1 cudatoolkit=11.3 -c pytorch -c conda-forge -y
pip install easydict==1.9
pip install timm=0.4.10
pip install timm==0.4.10
pip install timm==0.4.5
pip install opencv-python==4.5.1.48
pip install scipy==1.7.0
pip install tqdm==4.40.0
pip install six
二、数据分析
RGB
Label(40类)
HHA
修改train.txt和test.txt\
三、运行出错
1、方便调试,直接改devices=0
2、修改next错误
复现训练成功
跑自己的数据(训练)
计算均值方差
from torchvision.transforms import ToTensor#用于把图片转化为张量
import numpy as np#用于将张量转化为数组,进行除法
from torchvision.datasets import ImageFolder#用于导入图片数据集
means = [0,0,0]
std = [0,0,0]#初始化均值和方差
transform=ToTensor()#可将图片类型转化为张量,并把0~255的像素值缩小到0~1之间
dataset=ImageFolder("./data/train/",transform=transform)#导入数据集的图片,并且转化为张量
num_imgs=len(dataset)#获取数据集的图片数量
for img,a in dataset:#遍历数据集的张量和标签
for i in range(3):#遍历图片的RGB三通道
# 计算每一个通道的均值和标准差
means[i] += img[i, :, :].mean()
std[i] += img[i, :, :].std()
mean=np.array(means)/num_imgs
std=np.array(std)/num_imgs#要使数据集归一化,均值和方差需除以总图片数量
print(mean,std)#打印出结果
改config 没截图全
改数据读取
改train.txt
import os
f=open('datasets/cgrailway/train.txt', 'w')
p='datasets/cgrailway/RGB'
filenames=os.listdir(p)
for filename in filenames:
filename1=os.path.splitext(filename)
filename2=filename1[0].split('_')
name=filename2[0]+'_'+filename2[1]+'_'+filename2[2]
f.write(name+'\n')
f.close()
试了一点点数据
预测
代码出错
矩阵维度不对