the code
GitHub - huaaaliu/RGBX_Semantic_Segmentation
1. Environment configuration
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
2. Data analysis
RGB
Label (40 categories)
HHA
Modify train.txt and test.txt\
Three, running error
1. To facilitate debugging, directly change devices=0
2. Modify the next error
Recurrence training success
Run on your own data (training)
Calculate mean variance
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)#打印出结果
Changed config without screenshots
change data read
Change 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()
Tried a little bit of data
predict
code error
wrong matrix dimension