pytorch
hero_heart
这个作者很懒,什么都没留下…
展开
-
pytorch学习(一)argparse
2. required 为True的时候必须要初始化。3. nargs课代表List。原创 2024-07-15 23:23:41 · 233 阅读 · 0 评论 -
pytorch学习(二)模型加载保存
模型参数加载保存的三种参数。原创 2024-07-16 23:29:00 · 79 阅读 · 0 评论 -
pytorch学习(四)绘制loss和correct曲线
这一次学习的时候静态绘制loss和correct曲线,也就是在模型训练完成后,对统计的数据进行绘制。以minist数据训练为例子。原创 2024-07-17 23:13:27 · 280 阅读 · 0 评论 -
pytorch学习(三)cpu-gpu训练
在训练模型的时候,不可避免的要使用GPU进行加速,但是我们一般加载或者创建生成的数据都是处于CPU上,怎么把数据加载到GPU上呢?初次学习需要注意的是 :直接使用x.to(device)是不能把x数据加载到GPU上,必须使用x=x.to(device)1.首先看变量的CPU和GPU转换。2.训练过程中如何转换呢?主要是数据和模型的转换。原创 2024-07-17 23:14:53 · 117 阅读 · 0 评论 -
pytorch学习(五)tensorboard使用
2.2图像实现的方法是add_image,第一个仍然是给显示框起个名字,第二个是图像,可以按住ctrl, 把光标放在add_image上,可以看到显示类型,有HWC,CHW等,如果是HWC,则需要使用dataformats指明格式。0,1,2就表示的是第0,1,2次。意思就是第0次显示img1,第1次显示img,第二次显示img1。2.1标量实现的方法是add_scalar,第一个参数是给显示框起个名称,第二个参数是一个标量(也就是一个数值),第三个参数是第几次。然后安装tensorboard。原创 2024-07-18 23:09:05 · 197 阅读 · 0 评论 -
pytorch学习(六)transforms使用
中心裁剪、数据标准化、缩放、裁剪、旋转、仿射、反转、填充、噪声添加、灰度变换、线性变换、亮度饱和度以及对比度变换等。1.Transforms可以对训练图像进行预处理,以提高模型的稳定性,提高泛化能力。原创 2024-07-19 20:43:51 · 184 阅读 · 0 评论 -
pytorch学习(七)torchvision.datasets的使用
网络上已经有公开的数据集,并且这些数据集被整合到了torchvision.datasets中,使用自带的函数可以直接下载。结果为 torch.Size([3, 32, 32])原创 2024-07-19 21:10:59 · 197 阅读 · 0 评论 -
pytorch学习(八)Dataset加载分类数据集
item就是所要取数据的索引,这个函数主要是返回一个训练数据(比如一个图像),和一个结果数据,比如(该图像的分类结果是一个ant),因此用到刚os.listdir所列出的文件名字,用os.path.join加入路径,得到图像的绝对路径,用PIL导入图像,并给label赋值,返回图像和;一直报错,查找原因,发现是该数据集中的图像存在两个问题,第一个是大小不一,第二个貌似通道个数也不一致。可以直接len(os.listdir所列出的文件名的数组),就可以得到数据集的长度。4)第三个要实现的就是数据集的长度。原创 2024-07-19 22:52:46 · 478 阅读 · 0 评论 -
pytorch学习(九)激活函数
Leaky ReLU激活函数。#Sigmoid激活函数。#Softmax激活函数。原创 2024-07-19 23:27:09 · 181 阅读 · 0 评论 -
pytorch学习(十)优化函数
优化函数主要有,SGD, Adam,RMSProp这三种,并且有lr学习率,momentum动量,betas等参数需要设置。3.大家copy代码后,可以调一调batch_size,lr,momentum,betas等参数。通过测试,发现每一次的结果都不一样,每一次结果的显示图也不一样。因为shuffle=True。代码参考《python深度学习-基于pytorch》,改了一下网络结构,其他没变化。通过这篇文章,可以学到pytorch中的优化函数的使用。原创 2024-07-20 19:39:05 · 91 阅读 · 0 评论 -
pytorch学习(十一)checkpoint
当训练一个大模型数据的时候,中途断电就可以造成已经训练几天或者几个小时的工作白做了,再此训练的时候需要从epoch=0开始训练,因此中间要不断保存(epoch,net,optimizer,scheduler)等几个内容,这样才能在发生意外之后快速恢复工作。min_loss_val 定义成全局的变量之后,应该在用到的函数中,使用global min_loss_val再次定义,否则会报错误。通过本博客的学习,你将学会最优模型保存和模型自动加载的方法。原创 2024-07-20 21:00:33 · 76 阅读 · 0 评论 -
pytorch学习(十二)c++调用minist训练的onnx模型
在实际使用过程中,使用python速度不够快,并且不太好嵌入到c++程序中,因此可以把pytorch训练的模型转成onnx模型,然后使用opencv进行调用。所需要用到的库有:opencv。原创 2024-07-20 22:32:36 · 424 阅读 · 0 评论 -
pytorch学习(十三)torch维度变换
包含了flatten、view reshape transpose permute squeeze unsqueeze cat stack;在琢磨一遍之后就比较好理解了。原创 2024-07-20 23:52:27 · 262 阅读 · 0 评论 -
pytorch学习(十四)层结构容器
本篇文章列举了nn.Sequential,nn.ModuleList,nn.ModuleDict三个容器的使用方法,并且还学习了一种使用类封装模块的方法。通过本篇博客的学习,你将学习到三个容器和使用类构建容易的方法。1.nn.Sequential第一种方法直接列出每一层结构,第二种方法通过add_module的方式堆叠层,第三种方法使用字典的方式对层进行组织,第四种方法通过LIST列表的方式先堆叠层,然后再用sequential来骄傲如每一层,*表示拆散成一个一个的。import torch原创 2024-07-21 18:49:09 · 169 阅读 · 0 评论 -
pytorch学习(十五)二维卷积和转置卷积
卷积爆喊了stride步长,padding是否加边,groups是否完全计算,kernel_size卷积核的大小,等尺寸,不同的尺寸组合,可以让图像在卷积后保持原来的形状,也可以让图像的通道数增加。具体参数的意义可以跟着代码来看,其中conv2d在本博客中分析的相对详细,转置卷积的padding没有测试。话有一个是转置卷积,当kernel_size核stride设置为一致的时候,可以扩大倍数的升采样。原创 2024-07-21 19:48:28 · 29 阅读 · 0 评论 -
pytorch学习(十六)conda和pytorch的安装
在安装了cuda驱动后,用everything查找到nvidia-smi,exe这个文件所在的目录,cd到包含nvidia-smi.exe的目录下,如图,查看cuda version发现版本是10.2下载pytorch的时候就下载10.2的就可以了。conda create -n (env-name虚拟环境名子) python=pythonxx(比如python3.7)可以看到下面这个界面,如果没有与cuda version版本一致的版本的pytorch,就需要点击下图中的安装以前的版本。原创 2024-07-21 20:21:25 · 300 阅读 · 0 评论 -
pytorch学习(十七)pycharm安装requirement.txt中的配置
最后,如果在pip install过程中,出现了某个安装包的版本无法找到,则查看其报错中所提供的可以找到的版本,选择一个版本号比较邻近的版本进行下载。在github上下载别人的代码后,一般和自己本地的环境是不一致的,这时候就需要配准环境。1)在github上下载该代码,使用pycharm打开该代码文件。python xx.py来执行一下看看会不会报什么错误。3.如果出现错误,无法执行,则换源。2.配置requirement。2)为代码创建一个虚拟环境。原创 2024-07-21 20:32:11 · 33 阅读 · 0 评论