Swin-Unet 复现记录(记第一次复现)
一、train中遇到的问题(一)python、pytorch、cuda版本不对应swin-unet官方仓库上写的使用的是python3.7运行的代码,所以我一开始把环境全部朝python3.7去配置。却一直报错。 经过一番搜索后,发现python3.7对应的环境无法在4060laptop上运行。 在多次尝试不同的环境,并结合b站复现别的论文的视频,选择将python版本改为3.8。 1、新建独立环境12conda create -n py.8 python=3.8 # 明确指定Python 3.8conda activate py.8 2、使用pip绕过conda依赖限制1pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url...
动手学深度学习 2
一、卷积卷积有什么用? 通过卷积核的不同设置,使得每个输出通道可以识别特定的模式,比如识别边缘、锐化、模糊等操作。 核的参数怎么得到的? 学出来的,不是自己设置的。 卷积尺寸公式: 输出尺寸*=*[输入尺寸-kernel-size+2*padding+stride]/stride 填充在输入周围添加行/列,来控制输出形状的减少量 步幅每次滑动kernal窗口时的行/列的步长,可以成倍的减少输出形状 注意: 1、第一个公式里的ph是要上下都加了行,所以要乘以二!!! 2、padding通常设置为k-1...
动手学深度学习 1
一、数据操作+预处理N维数组N维数组是机器学习和神经网络的主要数据结构 0-d 标量:一个数字 1-d 向量:一个特征向量 2-d 矩阵:一个样本-特征矩阵 3-d RGB图片(宽×高×通道) 4-d 一个RGB图片的批量(批量大小batch×宽×高×通道) 创建数组需要: 形状 每个元素的数据类型 每个元素的值 访问元素 左下角子区域:1:3表示[1,3) 第二个子区域: ::3表示行是每3行一跳 ::2表示列是每两列一跳 关于内存x += y 就是直接在原来的x上加上y,与加法的形式不一样 x = x + y ...
小土堆pytorch 第三天
一、最大池化的使用池化——压缩特征 最大池化——取当前池化核中的最大的数 12345678910111213141516171819202122232425import torchfrom torch import nnfrom torch.nn import MaxPool2dinput = torch.tensor([[1, 2, 0, 3, 1], [0, 1, 2, 3, 1], [1, 2, 1, 0, 0], [5, 2, 3, 1, 1], [2, 1, 0, 1, 1]])input = torch.reshape(input, (-1, 1, 5, 5))class Test(nn.Module): def __init__(self): super(Test,self).__init__() self.maxpool1 =...
小土堆pytorch 第四天
一、现有模型的加载、修改、添加123456789101112131415import torchvisionfrom torch import nnvgg16_false = torchvision.models.vgg16(pretrained=False)vgg16_true = torchvision.models.vgg16(pretrained=True)print(vgg16_true)train_data = torchvision.datasets.CIFAR10("dataset", train=True, transform=torchvision.transforms.ToTensor(),download=True)vgg16_true.classifier.add_module('add_linear', nn.Linear(1000, 10)) # 添加 层print(vgg16_true)print(vgg16_false)vgg16_false.classifier[6] = nn.Linear(4096,...
小土堆pytorch 第二天
一、DataLoader 的使用12345678910111213141516171819import torchvisionfrom torch.utils.data import DataLoaderfrom torch.utils.tensorboard import SummaryWritertest_data = torchvision.datasets.CIFAR10("./dataset", train=False, transform=torchvision.transforms.ToTensor())test_loader = DataLoader(dataset=test_data, batch_size=64, shuffle=True, num_workers=0, drop_last=True) # 每次取的个数 取完后是否打乱 最后如果因为数量无法分配是否舍去writer =...
小土堆pytorch 第一天
一、两大法宝函数1、dir()打开,看见 2、help()查看说明书 二、三个运行方式的区别 三、如何导入数据两种数据形式:Dataset、Dataloader Dataset1、如何获取每一个数据及其label? 2、总共有多少条数据? 12345678910111213141516171819202122232425262728293031from torch.utils.data import Datasetfrom PIL import Imageimport os # 用于获取图片的地址class MyData(Dataset): def __init__(self, root_dir, label_dir): self.root_dir = root_dir self.label_dir = label_dir self.path = str(os.path.join(self.root_dir, self.label_dir)) # 拼接地址 self.img_path =...