data.py 用于数据处理
import os
from torch.utils.data import Dataset
from utils import *
from torchvision import transforms
transform=transforms.Compose([
transforms.ToTensor()
])
class MyDataset(Dataset):
def __init__(self,path):
self.path=path
self.name=os.listdir(os.path.join(path,'SegmentationClass1'))
def __len__(self):
return len(self.name)
def __getitem__(self, index):
segment_name=self.name[index] #xx.png
segment_path=os.path.join(self.path,'SegmentationClass1',segment_name)
image_path=os.path.join(self.path,'JPEGImages1',segment_name.replace('png','jpg'))
segment_image=keep_image_size_open(segment_path)
image=keep_image_size_open(image_path)
return transform(image),transform(segment_image)
if __name__ == '__main__':
data=MyDataset('C:\code\pythonProject1\datasets')
print(data[0][0].shape)
print(data[0][1].shape)
net.py unet网络模型
import torch
from torch import nn
from torch.nn import functional as F
class Conv_Block(nn.Module):
def __init__(self,in_channel,out_channel):
super(Conv_Block, self).__init__()
self.layer=nn.Sequential(