
Pytorch框架
pytorch学习
默执_
生如蝼蚁当立鸿鹄之志,命薄如纸应有不屈之心。
展开
-
pytorch基础---李博文记录索引
GPU测试import torchprint(torch.__version__)device = torch.device('cuda') ##这个是使用GPU的简单代码原创 2021-11-24 01:56:38 · 1757 阅读 · 0 评论 -
注意力机制(np计算示例)单头和多头
为了更好理解注意力机制里面的qkv矩阵,使用np来演示。单头注意力。原创 2025-04-20 20:30:58 · 262 阅读 · 0 评论 -
打印网络内的层名称与特征图大小
计算特征图大小的公式,池化与卷积都一样。全连接的隐藏层数字设置的任意的。AlexNet 为例子。原创 2025-04-07 09:37:30 · 179 阅读 · 0 评论 -
pytorch下载离线包的网址
格式:适用cuda版本,torch版本,cp38就是适用python 3.8版本。原创 2023-11-21 14:05:03 · 3795 阅读 · 1 评论 -
手写--单目标检测
在目标检测任务中通常有3个损失需要进行训练:1.图片是否存在检测目标、2.目标左上角与右下角坐标位置、3.目标为什么类别。原创 2023-03-19 22:03:44 · 267 阅读 · 0 评论 -
pytorch 手动顺序搭建resnet18、附带训练代码、测试代码、个人记录,若有错误,你可以去别处参考
文件名:mode_resnet18。原创 2023-01-09 00:16:57 · 7555 阅读 · 2 评论 -
torchvision.transforms.ToTensor() 替代
原因:.transforms.ToTensor() 有些开发板不支持,尝试自己写。现: 可运行,实际效果有待验证(d2.transpose((2, 0, 1))是否正确。原创 2022-10-01 13:38:16 · 386 阅读 · 0 评论 -
pytorch框架--网络方面--优化器
【代码】pytorch框架--网络方面--优化器。原创 2022-09-30 11:05:07 · 389 阅读 · 0 评论 -
pytorch框架--数据方面--Image与CV2读取图片格式转换
CV2读取图片的通道顺序为BGRImage读取图片的通道顺序为RGB方法一用于实际,建议使用cv2转Image先使用cv2的调换通道方法进行转换再使用Image的方法进行转换import cv2from PIL import Image#img为之前使用cv2读取的图片数据img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))Image转cv2先使用np.array对格式进行改变再使用cv2的调换通道方法进行转换i原创 2022-05-11 13:24:13 · 3328 阅读 · 0 评论 -
Pytorch框架常见报错---李博文记录索引
Pytorch框架常见报错pytorch安装正常,无法调用GPU更新中…原创 2022-01-23 14:53:59 · 352 阅读 · 0 评论 -
Pytorch框架常见报错--pytorch安装正常,无法调用GPU
Pytorch框架常见报错问题描述:pytorch安装正常,但却报错说无法调用GPUprint(torch.cuda.is_available()) 结果为falseprint(torch.version) 结果为1.8.1+cu111这时,发现使用nvidia-smi报错:NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NV原创 2022-01-23 14:51:59 · 2945 阅读 · 0 评论 -
pytorch框架--数据方面--pytorch自带
import torchvision# 加载数据集from torch.utils.data import DataLoaderfrom torch.utils.tensorboard import SummaryWriter# 官方数据集,若加载自己的数据,其实没什么区别,需要自己转换一下tensor格式,因为官方直接一个参数就转换了# 参数:下载保存路径、train=训练集(True)或者测试集(False)、download=在线(True) 或者 本地(False)、数据类型转换tes原创 2021-11-23 00:30:57 · 256 阅读 · 0 评论 -
pytorch框架--数据方面--学习使用版
# 数据加载import numpy as npfrom torch.utils.data import Datasetfrom PIL import Imageimport osfrom torchvision import transformsclass MyData(Dataset): def __init__(self, root_dir, label_dir, i): # 装各种类别文件夹的目录 self.root_dir = root_dir原创 2021-11-23 00:20:56 · 1311 阅读 · 0 评论 -
pytorch框架--数据方面--预处理
归一化学习演示from torch.utils.tensorboard import SummaryWriterfrom torchvision import transformsfrom PIL import Imageimage_path = "./data/train/Cat/222.jpg"img = Image.open(image_path)# 创建图表文件writer = SummaryWriter("logs")# 数据类型转换tensor_trans = tran原创 2021-11-23 01:03:12 · 390 阅读 · 0 评论 -
pytorch框架--数据方面--实际使用版
应用于图像分类from torchvision.datasets import ImageFolder# 图像目标路径ROOT_TRAIN = './data/train'# 将图像的像素值归一化到【-1, 1】之间normalize = transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])# 预处理打包: 可加入更多预处理操作train_transform = transforms.Compose([ # 缩放 tra原创 2021-11-23 00:09:00 · 1422 阅读 · 0 评论 -
pytorch框架--数据方面--数据类转换演示
from PIL import Imagefrom torchvision import transformsimport cv2import numpy as npimg_path = "./data/train/Cat/10.jpg"# 方法一img = Image.open(img_path)# 使用array数据类型也可,一般直接用cv2读取,因为cv2就是array类型# img = np.array(img)# 方法二# img = cv2.imread(img_path)原创 2021-11-23 00:44:15 · 930 阅读 · 0 评论 -
pytorch框架--显示方面--二维曲线图
x、y二维曲线图示例from torch.utils.tensorboard import SummaryWriterwriter = SummaryWriter("logs")for i in range(100): # 绘制x轴、y轴 writer.add_scalar("y=6x", 5*i, 2*i)writer.close()# 名字需要对应# tensorboard --logdir=logs --port=6007...原创 2021-11-23 02:11:41 · 443 阅读 · 0 评论 -
pytorch框架--数据方面--预处理
缩放from torch.utils.tensorboard import SummaryWriterfrom torchvision import transformsfrom PIL import Image# 可视化图表使用命令:注意对应名字# tensorboard --logdir=logs --port=6006# 可加参数: --port=6007 设置端口号image_path = "./data/train/Cat/222.jpg"img = Image.op原创 2021-11-23 01:06:05 · 215 阅读 · 0 评论 -
pytorch框架--网络方面--自建模型示例
自己搭建模型、检查网络是否错误import torchfrom torch import nn# 导入记好了,2维卷积,2维最大池化,展成1维,全连接层,构建网络结构辅助工具from torch.nn import Conv2d, MaxPool2d, Flatten, Linear, Sequentialfrom torch.utils.tensorboard import SummaryWriterclass Tudui(nn.Module): def __init__(self原创 2021-11-23 01:22:43 · 264 阅读 · 0 评论 -
pytorch框架--简单模型预测
模型预测示例使用训练好的模型进行预测import torchvisionfrom model import Tuduiimport torchfrom PIL import Image# 读取图像img = Image.open("./data/train/Dog/9.jpg")# 数据预处理# 缩放transform = torchvision.transforms.Compose([torchvision.transforms.Resize((32, 32)),原创 2021-11-23 02:43:52 · 2581 阅读 · 0 评论 -
pytorch框架--显示方面--标签--图像 对应图
标签–图像 对应图示例from torch.utils.tensorboard import SummaryWriterfrom PIL import Imageimport numpy as npwriter = SummaryWriter("logs")image_path = "./data/train/Cat/21.jpg"img_PIL = Image.open(image_path)img_array = np.array(img_PIL)# 虽然转为array类型,但是通道排原创 2021-11-23 02:15:13 · 1534 阅读 · 0 评论 -
pytorch框架--网络方面--完整训练示例
完整训练示例import torchimport torchvisionfrom torch import nn# 导入记好了,2维卷积,2维最大池化,展成1维,全连接层,构建网络结构辅助工具from torch.nn import Conv2d, MaxPool2d, Flatten, Linear, Sequentialfrom torch.utils.data import DataLoaderfrom torch.utils.tensorboard import SummaryWrit原创 2021-11-23 01:36:16 · 799 阅读 · 0 评论 -
pytorch框架--数据方面--预处理
随机裁剪from torch.utils.tensorboard import SummaryWriterfrom torchvision import transformsfrom PIL import Image# 可视化图表使用命令:注意对应名字# tensorboard --logdir=logs --port=6006# 可加参数: --port=6007 设置端口号image_path = "./data/train/Cat/222.jpg"img = Image.原创 2021-11-23 01:12:26 · 111 阅读 · 0 评论 -
pytorch框架--网络方面--pytorch自带模型(增、改)
自带模型的增、改import torchvisionfrom torch import nn# 加载vgg16网络模型,pretrained 是否使用优质网络的参数,并不是权重参数vgg16_f = torchvision.models.vgg16(pretrained=False)# 加载vgg16网络模型,pretrained 是否使用优质参数vgg16_t = torchvision.models.vgg16(pretrained=True)print(vgg16_t)train原创 2021-11-23 01:21:14 · 433 阅读 · 0 评论 -
pytorch框架--网络方面--池化原理
池化原理示例import torchimport torch.nn.functional as Ffrom torch import nnfrom torch.nn import MaxPool2dx = torch.tensor([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5],原创 2021-11-23 01:48:38 · 239 阅读 · 0 评论 -
pytorch框架--准确率原理
准确率原理示例import torchoutput = torch.tensor([[0.1, 0.2], [0.2, 0.3]])# 计算准确率:# 输入预测的各个类别概率# 取最大概率索引# 与标签进行对比# 累加对的个数 / 总数 = 准确率# 计算矩阵 列(1)行(0) 最大值索引print(output.argmax(1))preds = output.argmax(1)# 假定类型目标值标签, 第0类、第1类targets原创 2021-11-24 01:36:48 · 895 阅读 · 0 评论 -
pytorch框架--网络方面--卷积原理
卷积原理示例import torchimport torch.nn.functional as Fx = torch.tensor([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]])y = torch.tensor([[1, 2, 3]原创 2021-11-23 01:45:17 · 174 阅读 · 0 评论 -
pytorch框架--网络方面--损失函数基本(回归、分类)
基础损失函数示例import torchfrom torch import nnfrom torch.nn import L1Lossinputs = torch.tensor([1, 2, 3], dtype=torch.float32)targets = torch.tensor([1, 2, 5], dtype=torch.float32)inputs = torch.reshape(inputs, (1, 1, 1, 3))targets = torch.reshape(targe原创 2021-11-23 02:02:15 · 331 阅读 · 0 评论 -
pytorch框架--GPU训练示例
使用GPU训练示例问题说明: 此代码虽然可以运行,但据我观察每轮保存模型时会一点点吃掉缓存,以至于我电脑崩溃死机数次。解决方案: 我使用的方法是,每轮删除上一个,就可让缓存保持平衡不会泄露导致电脑崩溃卡死。当然一直训练过拟合是必然的现象,所以要保存最好的模型,根据loss值最小的时候保存。但这些方法未应用此代码中。 以下代码作为示例,运行2轮看看即可。GPU调用语句放置位置:开头实例化、调用模型、损失函数、训练与测试(图像、标签)import torchimport torchvis原创 2021-11-23 02:38:56 · 1967 阅读 · 0 评论 -
pytorch框架--网络方面--onnx模型-转换-保存-加载-部署
模型.pth 转换为 .onnx# 首先正常加载模型model# 根据图像需求输入dummy_input = torch.randn(1, 3, 224, 224)# 保存.onnx格式模型 torch.onnx._export(model, dummy_input, "cnn.onnx", verbose=True)测试onnx模型是否可用# 测试onnx模型,需安装onnxpip install onnx测试代码:import onnx# 验证模型onnx格式model =原创 2021-12-11 22:58:05 · 2007 阅读 · 0 评论 -
pytorch框架--网络方面--激活函数原理
激活函数原理示例import torchimport torch.nn.functional as Ffrom torch import nnfrom torch.nn import ReLUx = torch.tensor([[1, -0.5], [-1, 3]])# 改变维度 参数:数据矩阵,目标大小矩阵x1 = torch.reshape(x, (-1, 1, 2, 2))class tudui(nn.Module): def __i原创 2021-11-23 01:53:18 · 557 阅读 · 0 评论 -
pytorch框架--网络方面--模型保存与加载
模型保存与加载示例保存import torchimport torchvisionvgg16 = torchvision.models.vgg16(pretrained=False)# 保存方式一torch.save(vgg16, "vgg16_.pth")# 保存方式二torch.save(vgg16.state_dict(), "vgg16_1.pth")加载import torchimport torchvision# 加载方式1# moudel = torch.l原创 2021-11-23 02:07:16 · 437 阅读 · 0 评论