pytorch
文章平均质量分 63
本专栏的笔记部分学习自B站刘二大人的《PyTorch深度学习实践》
zstar-_
西电在读硕士生,联系邮箱:zstar1003@163.com
展开
-
【Ubuntu】分布式训练/pycharm远程开发
鸟枪换炮进化史原创 2022-10-07 18:05:18 · 1423 阅读 · 0 评论 -
Pytorch模型训练实用教程学习笔记:四、优化器与学习率调整
最近在重温Pytorch基础,然而Pytorch官方文档的各种API是根据字母排列的,并不适合学习阅读。于是在gayhub上找到了这样一份教程《Pytorch模型训练实用教程》,写得不错,特此根据它来再学习一下Pytorch。...原创 2022-08-01 17:14:10 · 1399 阅读 · 0 评论 -
Pytorch模型训练实用教程学习笔记:三、损失函数汇总
最近在重温Pytorch基础,然而Pytorch官方文档的各种API是根据字母排列的,并不适合学习阅读。于是在gayhub上找到了这样一份教程《Pytorch模型训练实用教程》,写得不错,特此根据它来再学习一下Pytorch。......原创 2022-08-01 16:12:45 · 791 阅读 · 0 评论 -
Pytorch模型训练实用教程学习笔记:二、模型的构建
最近在重温Pytorch基础,然而Pytorch官方文档的各种API是根据字母排列的,并不适合学习阅读。于是在gayhub上找到了这样一份教程《Pytorch模型训练实用教程》,写得不错,特此根据它来再学习一下Pytorch。...原创 2022-08-01 15:15:50 · 790 阅读 · 0 评论 -
Pytorch模型训练实用教程学习笔记:一、数据加载和transforms方法总结
最近在重温Pytorch基础,然而Pytorch官方文档的各种API是根据字母排列的,并不适合学习阅读。于是在gayhub上找到了这样一份教程《Pytorch模型训练实用教程》,写得不错,特此根据它来再学习一下Pytorch。https。.........原创 2022-08-01 14:14:31 · 1433 阅读 · 0 评论 -
Pytorch:YOLO-v5目标检测(下)
上篇内容介绍了如何配置YOLO-v5环境,并利用coco128数据集进行训练。本篇内容就来使用自己制作的数据集。文章目录1.数据集标注2.数据转换3.开始训练4.开始检测5.参考资料1.数据集标注使用工具:LabelIMGLabelIMG是用pyqt5编写的标注工具,界面比较简单,下载之后双击exe就可以直接使用。(软件可在微信公众号“我有一计”中,回复“标注”获取)软件界面:open是打开单个文件opendir是打开文件夹change Save Dir是修改标注存储路径下面是一些.原创 2021-05-30 16:21:29 · 1118 阅读 · 4 评论 -
Pytorch:YOLO-v5目标检测(上)
在目标检测方面比较流行的是yolo和ssd两种算法。本篇内容就记录如何使用YOLO-v5进行目标检测。由于整体篇幅很长,故分为上下两篇,本篇为上篇,记录如何跑通yolo-v5代码,并对coco128数据集进行训练测试。下篇将会记录如何标注数据,训练自己的数据集。文章目录1.YOLO简介2.YOLO模型3.配置环境4.简单测试5.下载coco128数据集6.开始训练7.模型评价可视化8.上传图片进行测试9.参考资料1.YOLO简介YOLO全称为You Only Look Once(你只需看一次)。卷.原创 2021-05-30 02:04:21 · 5549 阅读 · 20 评论 -
pytorch:实践MNIST手写数字识别
在本专栏第十篇记录过CNN的理论,并大致了解使用CNN+残差网络训练MNIST的方式,由于课件中不包含完整代码,因此想要复现一遍,但遇到各种各样的坑,纸上得来,终觉浅~第一个问题:MNIST数据集的获取train_dataset = datasets.MNIST(root='../dataset/mnist', train=True, download=True, .原创 2021-05-20 01:30:59 · 684 阅读 · 0 评论 -
pytorch学习笔记(十一):循环神经网络RNN(简介)
上篇内容记录了在图像领域广泛应用的CNN,这篇将涉猎到新的领域自然语言处理(NLP),简单运用循环神经网络RNN,RNN最难的是维度的变换和处理,奈何本人水平有限,第一次接触听得晕头转向,因此此篇仅对RNN的功能和结构做一个大致了解。文章目录1.RNN Cell1.1 RNN Cell的结构1.2程序使用2. RNN2.1RNN的结构2.2程序使用3.独热编码One-Hot1.RNN Cell1.1 RNN Cell的结构RNN主要处理的是时间序列,也就是说,这一时刻的数值由外部的输入和前一时.原创 2021-05-19 08:51:02 · 639 阅读 · 0 评论 -
pytorch学习笔记(十):卷积神经网络CNN(进阶篇)
文章目录1、GoogleNet2、重复部分封装1.Concatenate2.1*1卷积核1.信息聚合2.简化计算3、程序书写4、残差网络的引入——解决梯度消失的问题1.梯度消失2.残差网络 Residual Net3.程序表达1、GoogleNet如图是经典网络GoogleNet的网络结构图,如果将每层均用上篇内容的表示方法,则代码过于冗长。观察到网络结构中有很多重复部分,因此可以使用Class对重复部分进行封装。2、重复部分封装1.Concatenate如图所示是GoogleNet中反复出现原创 2021-05-18 21:25:25 · 1270 阅读 · 8 评论 -
pytorch学习笔记(九):卷积神经网络CNN(基础篇)
在上一篇中,使用了全连接网络进行手写数字识别的分类。准确率为97%本次,将采用卷积神经网络的方法,提升准确率。目录1、什么是卷积?2、对RGB图像进行卷积3、对N个通道的图像进行卷积4、padding的引入5、步长(stride)的概念6、池化(Pooling)的概念7、卷积神经网络工作流程8、GPU的使用9、训练结果分析1、什么是卷积?与数学上卷积的概念略有不同,在数学上,卷积的含义是将一个函数先进行y轴翻转,之后对应点相乘累加,在神经网路中,由于卷积核的参数是自己定义的,因此若要进行翻转,相原创 2021-05-18 09:23:12 · 1136 阅读 · 4 评论 -
pytorch学习笔记(八):全连接层处理图像分类问题
1、softmax函数的引出处理多分类问题时,一般的激活函数会产生矛盾的效果,需要满足两个条件,所有的P均大于0,所有的P相加等于1。而softmax函数可以满足这一点函数公式:真的是非常Amazing啊下面这个实例展示它是如何计算的2、损失函数的选取对于二分类问题,之前我们选取了交叉熵作为损失函数,多分类问题有了些许变化,损失函数为用程序语言来表达整个过程:3、用pytorch来书写过程注:CrossEntropyLoss()包含了Softmax,因此最后面的一层不用额外激原创 2021-05-15 01:34:45 · 2968 阅读 · 0 评论 -
pytorch学习笔记(七):加载数据集
理清三个概念:1、Epoch 训练次数2、Batch-Size:各批量的大小3、Iteration:使用批量的次数Iteration*Batch-Size=Number of samplesshuffle = True 打乱顺序(洗牌)一般训练集需要打乱顺序,测试集不需要(无意义)具体构建Datasetimport torchfrom torch.utils.data import Datasetfrom torch.utils.data import DataLoadercla原创 2021-05-13 01:17:01 · 965 阅读 · 1 评论 -
pytorch学习笔记(六):多维特征的分类问题
一步步将多个特征的数据进行逻辑斯蒂回归引入矩阵:矩阵的本质:将改变数据的空间维度具体使用:1、加载数据集xy = np.loadtxt('diabetes.csv.gz', delimiter=',', dtype=np.float32)x_data = torch.from_numpy(xy[:, :-1])y_data = torch.from_numpy(xy[:, [-1]])这里面的数据以’,'分隔,最后一列为y值2、定义模型class Model(torch.nn.原创 2021-05-12 01:09:38 · 2669 阅读 · 4 评论 -
pytorch学习笔记(五):逻辑斯蒂回归(Logistic Regression)
一、一些数据集的获取1、手写数字数据集MNIST Dataset第一个参数数据集保存位置train=True 训练集,False测试集第一次用 download=True 会自动连网下载2、交通工具分类数据集The CIFAR-10 dataset二、逻辑斯蒂回归主要处理分类问题分类问题使用激活函数Sigmoid(将数值映射为[0,1]的概率)Sigmoid函数有多种形式损失函数用到交叉熵:交叉熵,用以比较两个分部之间的差异,数值越大越好损失函数越小越好,因此加负号-在原创 2021-05-11 01:36:41 · 902 阅读 · 1 评论 -
pytorch学习笔记(四):线性回归(用pytorchAPI)
步骤:1、准备训练集2、设计模型3、创建损失函数和优化器4、训练def func(*args, **kwargs): print(args) print(kwargs)func(1,2,3,4,a=1,b=2,c=3)输出:(1, 2, 3, 4){'a': 1, 'b': 2, 'c': 3}定义函数时,*args作用:传入参数个数不限**kwargs作用:将“a=1”形式的参数转化成字典准备训练集数据集和之前本专栏第一篇的线性模型一样设计模型cla原创 2021-05-10 01:13:44 · 618 阅读 · 0 评论 -
pytorch学习笔记(三):反向传播
关于前馈和反相传播的原理,下面这张实例非常清楚:import torchimport matplotlib.pyplot as pltx_data = [1.0,2.0,3.0]y_data = [2.0,4.0,6.0]w = torch.Tensor([1.0])w.requires_grad = True # 需要计算梯度def forward(x): return x * wdef loss(x, y): y_pred = forward(x) re原创 2021-05-09 18:32:54 · 533 阅读 · 0 评论 -
pytorch学习笔记(二):梯度下降
梯度下降:w=1.0 a=0.01x_data = [1.0 , 2.0 , 3.0]y_data = [2.0 , 4.0 , 6.0]w = 1.0def forward(x): return x * wdef cost(xs, ys): cost = 0 for x, y in zip (xs,ys): y_pred = forward(x) cost += (y_pred - y) ** 2 return cost / l原创 2021-05-09 17:02:29 · 599 阅读 · 0 评论 -
pytorch学习笔记(一):线性模型
y=x*wloss= (y_pred-y)^2通过穷举法来穷举w,绘图可以查看到使Loss最小的w为2(该方法提前知道w在0-4.1之间)import numpy as npimport matplotlib.pyplot as pltx_data = [ 1.0 , 2.0 , 3.0]y_data = [ 2.0 , 4.0 , 6.0]def forward(x): return x * wdef loss(x, y): y_pred = forward(x)原创 2021-05-09 15:42:28 · 576 阅读 · 0 评论