![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pytorch
文章平均质量分 61
布兹学长
兔头小白
展开
-
常见数据集格式+数据集标注
简单的来说就是,识别出目标的位置+类别。例如:人脸检测就是以人脸为目标进行检测文字检测就是以文字为目标进行检测目前主流的目标检测,都是以矩形框的形式进行输出,就是用矩形框将检测到的目标框出,但是这样的话精度就没有特别高,框内可能还有其他的目标。语义分割:具有更高精度VOC数据集官网VOC数据具体说明参考文章:目标检测:PASCAL VOC 数据集简介Pascal Voc数据集详细分析PASCAL VOC数据集分析COCO数据集官网参考文章:COCO数据集介绍线上标注网址:m原创 2022-07-13 09:09:26 · 5403 阅读 · 0 评论 -
完整的模型验证(测试,demo)套路
网络模型训练与保存参考利用GPU训练网络模型,并且加载的网络模型也是该篇文章中的代码训练出来的。验证模型示例代码:一些需要注意的点在代码中的注释有详细的描述。注意原创 2022-07-03 10:46:41 · 641 阅读 · 0 评论 -
利用GPU训练网络模型
使用gpu训练只要找到:网络模型、数据(输入和标注)、损失函数再调用.cuda()即可。CPU训练代码:代码运行结果:GPU训练代码:代码运行结果:相比于CPU训练代码,GPU训练代码做出了以下的改变。CPU中的网络模型GPU中的网络模型CPU中的损失函数GPU中的损失函数CPU中的数据GPU中的数据另外,有些笔记本可能没有显卡,然后又想体验显卡的快感,其实网上也有一些线上的显卡可以使用,像是谷歌的colab也可以线上使用显卡进行GPU训练。.........原创 2022-07-02 18:59:23 · 1286 阅读 · 0 评论 -
完整的模型训练套路
这里我们以CIFAR10为例。有关CIFAR10的介绍详细可见此处2.利用DataLoader加载数据集3.创建神经网络模型我们按照下面这张网络模型图,单独创建一个python文件用来写网络模型:搭建完网络模型之后最好验证一下网络模型的正确性。损失函数官方文档,根据情况的不同要选择合适的损失函数。..................原创 2022-07-01 16:30:41 · 662 阅读 · 1 评论 -
网络模型的保存与读取
使用示例代码如下:不仅仅保存了结构还保存了网络模型中的一些参数(保存了模型结构+模型参数)。使用示例代码如下:将vgg16网络中的参数保存成python中的字典形式(保存模型参数(官方推荐)),相当于加载的时候需要先加载网络模型,再加载参数。使用示例代码如下:前提是使用网络模型保存的方式1,直接使用便可以加载模型和参数。使用示例代码如下:前提是使用网络模型保存的方式2,使用加载只能把模型参数加载出来,好需要将网络模型加载出来,然后把模型参数添加到模型中。自己写一个简单网络,然后使用方式1保存。示例原创 2022-07-01 14:28:34 · 563 阅读 · 0 评论 -
先有网络模型的使用及修改
使用示例代码:vgg16的使用有两个常用参数,分别是和。示例代码如下:运行结果:讲解:将vgg16_true模型应用到CIFAR10数据集上,为什么要添加一个in_feature=1000,out_feature=10的线性层呢?因为vgg16_true网络训练的ImageNet数据集有1000个分类,而CIFAR10只有10分类,所以要将vgg16_true网络应用在CIFAR10上的话,需要添加一个in_feature=1000,out_feature=10的线性层。示例代码如下:运行结果:.原创 2022-06-29 16:59:44 · 290 阅读 · 0 评论 -
pytorch-优化器
优化器简单使用示例代码:需要注意的一些点:原创 2022-06-29 15:47:06 · 254 阅读 · 0 评论 -
损失函数与反向传播
Loss Functions:1.计算实际输出和目标之间的差距2.为我们更新输出提供一定的依据(反向传播)损失函数简单使用示例代码:反向传播反向传播简单使用(如何再神经网络中引入损失函数)示例代码:CrossEntropyLoss是针对分类很常用的一个损失函数。......原创 2022-06-29 15:39:21 · 206 阅读 · 0 评论 -
RuntimeError: mean(): input dtype should be either floating point or complex dtypes.Got Long instead
运行代码:报错出问题的代码:修改数据类型再次运行:原创 2022-06-27 15:24:19 · 2522 阅读 · 0 评论 -
神经网络-使用Sequential搭建神经网络
我们以这个神经网络图为例子,来搭建对比看看正常情况搭建神经网络和使用Sequential搭建神经网络的区别,以及搭建神经网络中一些要注意的点。搭建神经网络代码:上述代码中有一些要注意的点,需要单独的拿出来讲讲。1. 根据网络图搭建网络的时候,有些参数网络图上没给,是需要自己去计算的,像是padding,stride等等像是搭建第一个卷积层的时候,就需要自己去计算padding和stride。那么如何计算呢?这个时候我们就要用到官方文档提供的计算公式了。2.搭建这个线性层的时候in_feature原创 2022-06-26 16:27:28 · 873 阅读 · 0 评论 -
神经网络-非线性激活
非线性激活主要是为了给我们的神经网络去引入一些非线性的特质,比较常用的非线性激活有两个分别是Sigmoid和RELU。示例代码:代码运行结果:对于ReLU接口的使用,该接口只有一个参数需要传入,那就是inplace参数。inplace参数的意义就是是否将原来的变量的值替换成处理后的结果值 若inplace=True则对原来的变量进行替换,原来变量的值就变了,变成处理后的结果值,若inplace=False则不对原来的变量进行替换,产生的结果需要一个新的变量去接收通常情况下,建议将inplace传入原创 2022-06-26 10:57:22 · 714 阅读 · 0 评论 -
pytorch神经网络搭建 模板
我们就以这串代码来讲解神经网络搭建的流程搭建的流程大体上可以分为三部分:2.搭建神经网络继承nn.Module,继承nn.Module的初始化加上自己的初始化,重写forword方法。原创 2022-06-25 19:19:35 · 177 阅读 · 0 评论 -
神经网络-最大池化的使用
池化层的官方文档中介绍了很多种的池化方法,但是最常用的还是MaxPool2d,这里我们也用MaxPool2d来讲解,其他的类似,关键还是要学会看官方文档概述:最大池化目的就是为了保留输入的特征,但是同时把数据量减少,最大池化之后数据量就减少了,对于整个网路来说,进行计算的参数就变少了,就会训练的更快。就相当于在网上看视频,视频又有1080P的,720P的,360P的,懂吧,1080P就相当于输入视频,720P的就相当于经过最大池化后的视频,720P也可以满足需求,网不行的时候不就可以看720P的呗。什原创 2022-06-25 18:46:15 · 2862 阅读 · 2 评论 -
AssertionError assert I.ndim == 4 and I.shape[1] == 3
运行代码:运行代码报错如下:为什么会出错呢?原因是我们搭建的神经网络中其中就是输出图片的通道数是6通道的,原创 2022-06-25 15:03:25 · 1598 阅读 · 0 评论 -
RuntimeError: “max_pool2d“ not implemented for ‘Long‘
示例代码:运行该段代码时报错:。报这个错是数据类型的错误,所以我们要对这个input加个数据类型的限制.出问题的代码是这一段代码。给它加上数据类型限制。即改成再次运行结果便没有报错。...原创 2022-06-25 14:43:40 · 2874 阅读 · 1 评论 -
神经网络-卷积层
代码中需要注意和解释的点注意dataset中transform参数接收的是个对象,所以要加上括号,还有就是之后使用神经网络进行运算的时候需要的数据类型是tensor类型,所以transforms参数要加上。在搭建神经网络继承nn.Module的初始化的时候,创建变量创建的是全局变量,所以在变量前需要加上一个。注意当out_channels远大于in_channels时需要对原图像进行扩充,也就是padding的值不能设为0了,需要根据公式,公式如下:上图中input后面那个元组中四个元素分别代表的原创 2022-06-24 16:30:08 · 263 阅读 · 0 评论 -
pytorch 卷积操作
pytorch卷积操作官方文档这里我们用nn.Conv2d来讲解卷积操作。什么是卷积?就是卷积核在输入图像上移动,然后将卷积核上与输入图像上对应位置上的值相乘求和。使用来控制卷积核的移动步长的。卷积操作示例代码:部分代码解释:1.reshape的作用为什么需要对input和kernel进行reshape这个操作呢?因为使用对输入的参数进行了限制,可以看到CONV2D对参数的要求,要求input的输入是(minibatch,in_channels,iH,iW),其中in_channels表示通道数原创 2022-06-24 11:57:44 · 705 阅读 · 0 评论 -
神经网络的基本骨架-nn.Moudle的使用
Contains官方文档神经网络的基本骨架-nn.Moudle的使用官方文档根据官方文档的示例:使用神经网络的基本骨架-nn.Moudle,主要可以分为三步吧。对官方文档这部分代码的解释:看图,很形象的。使用示例:代码运行结果:............原创 2022-06-24 10:40:41 · 547 阅读 · 0 评论 -
Dataloader的使用
Dataloder官方文档Dataloader的使用示例代码如下:dataloader中batch_size的作用就相当于将dataset打包,每次取打包的部分,上图可以方便理解。上述代码中要注意的地方:原创 2022-06-23 17:39:01 · 354 阅读 · 0 评论 -
pytorch中常用数据集的使用方法
pytorch中常用数据集的使用方法原创 2022-06-23 16:52:57 · 1059 阅读 · 0 评论 -
常用的Transforms中的方法
这里用一些实际代码来举例,Transforms中常用方法的一些使用(ToTensor、Normalize、Resize、Compose、RandomCrop等等)原创 2022-06-23 15:36:29 · 388 阅读 · 0 评论 -
transform的结构及用法
transform的结构及用法原创 2022-06-22 22:29:26 · 571 阅读 · 0 评论 -
Tensorboard的使用
tensorboard的使用(常用方法及可视化)原创 2022-06-22 15:23:29 · 2896 阅读 · 0 评论