![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PyTorch
文章平均质量分 67
星海千寻
学习使我快乐,每天进步一点点,夯实基础,足够努力,未来定可期。缓慢而坚持地学习,
花一年的时间蜕变,他日剑指长虹。
展开
-
pytorch图像数据增强N大技巧
数据增强对深度神经网络的训练来说是非常重要的,尤其是在数据量较小的情况下能起到扩充数据的效果。还记得当时在学习过拟合的解决方法的时候,就有一条就是数据增强,那么我们这次来学习下,在 pytorch 中如何进行数据增强的具体操作。直接上代码,很清晰明了。import PIL.Image as Imageimport osfrom torchvision import transforms as transformsimport torchvision.transforms.functional a原创 2021-08-24 16:34:54 · 2657 阅读 · 6 评论 -
《pytorch》对CIFAR数据集的分类
今天复习了下pytorch,又看了下它的一个实例,复习了下对CIFAR数据集的分类。学习链接:https://zhuanlan.zhihu.com/p/39667289直接上源码,注释均在其中import torchimport torch.nn as nnimport torch.nn.functional as Fimport torchvisionimport torchvision.transforms as transforms# optim中定义了各种各样的优化方法,包括SGD原创 2021-08-16 19:57:46 · 267 阅读 · 0 评论 -
pytorch张量操作基础
张量是pytorch的基本数据类型,因此有必要重新快速的学习下怎么使用操作张量。1:使用tensor直接创建b = torch.tensor([[11, 22, 33, 66], [77, 44, 88, 99]])print(b)b = torch.tensor([11, 22, 33, 66, 77, 44, 88, 99])print(b)结果输出是:tensor([[11, 22, 33, 66],[77, 44, 88, 99]])tensor([11, 22, 33, 66,原创 2021-01-23 00:57:19 · 444 阅读 · 2 评论 -
图像语义分割 -- U-Net
一:FCN回顾上一博文我们学习了FCN,有不同的特征融合版本。至于为什么要进行特征能融合呢?由于池化操作的存在,浅层卷积视野小,具体一些,细节更加详细,越深层的视野大,图像越小,越粗粒度,细节也是越来越模糊,所以,下采样的好处是,带来了感受域的提升,同时也减少计算量,但是却忽略了很多细节,让图像变得平湖模糊,因此,作者将浅层的细节特征也进行了特征融合。较浅的卷积层(靠前的)的感受域比较小,学习感知细节部分的能力强,较深的隐藏层 (靠后的),感受域相对较大,适合学习较为整体的、相对更宏观一些的特征。所原创 2021-01-20 23:47:29 · 1038 阅读 · 0 评论 -
pytorch中上采样的实现
因为最近在学习FCN,所以呢,有一些上采样的操作实际上,上采样(upsampling)一般包括2种方式:1:Resize,如双线性插值直接缩放,类似于图像缩放(这种方法在原文中提到)2:Deconvolution,也叫Transposed Convolution,也叫做反卷积。一:ResizeCLASS torch.nn.Upsample(size=None, scale_factor=None, mode='nearest', align_corners=None)CLASS torch.nn原创 2021-01-20 04:01:52 · 4646 阅读 · 0 评论 -
图像语义分割 -- FCN
一:图像语义分割最简答理解图像语义分割呢就是看下面的图片例子:像素级别的分类:假如像素有五个类别,那么最后输出的结果在长度和宽度上是一样的,只不过通道数就是类别个数了。拆解开各个通道就是如下所示:合并后就是各个像素的类别信息了,一般情况下会不同的颜色来表示各个类别,这样我们就能更加清晰看出来哪些像素是什么类别了,这也是一个监督学习的例子。二:FCN由于自己太懒了,关于FCN的概念和介绍请自己自行百度哈。推荐下面链接https://zhuanlan.zhihu.com/p/31428783原创 2021-01-20 03:44:54 · 1466 阅读 · 1 评论 -
搭建Vgg16训练CIFAR10数据集
今天我们来学习下经典网络VGG,并且模拟实现VGG16,且用来训练cifar10数据集。一:VGG简单学习先来看下图的总体介绍,有下面几种分类,A,A-LRN,B,C,D,E。其中最常用的是后两种,D和E的网络配置一般也叫做VGG16和VGG19。VGG16有13个卷积层加上3个全连接层,VGG19则有16个卷积层加上3个全连接层。VGG16和VGG19度包含了5个池化层。整体网络可以分成6个部分,前面5个是卷积层(Conv-XXX表示)(若干卷积ReLU和一个maxpooling组成),也就是用原创 2021-01-18 03:24:16 · 13312 阅读 · 16 评论 -
《Pytorch - 神经风格转换》
上一篇我们学习了神经风格转换的详细内容,现在我们找了个网上的例子,一起运行分析下,具体实现过程是如何操作的。一:代码细节步骤解析第一步:获取当前可用的设备信息,CPU还是GPU# 获得当前的设备device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')第二步:顶一个加载图像的函数def load_image(image_path, transform=None, max_size=None, shape=None)原创 2020-10-25 17:11:32 · 356 阅读 · 0 评论 -
深度学习《CGAN模型》
一:介绍CGAN全程是Conditional Generative Adversarial Network,回想一下,传统的GAN或者其他的GAN都是通过一堆的训练数据,最后训练出了G网络,随机输入噪声最后产生的数据是这些训练数据类别中之一,我们提前无法预测是那哪一个?因此,我们有的时候需要定向指定生成某些数据,比如我们想让G生成飞机,数字9,等等的图片数据。怎么做呢:1:就是给网络的输入噪声数据增加一些类别上的信息,就是说给定某些类别条件下,生成指定的数据,所以输入数据会有一些变化;2:然后在损原创 2020-10-18 20:05:29 · 3204 阅读 · 5 评论 -
深度学习《WGAN模型》
WGAN是一个对原始GAN进行重大改进的网络主要是在如下方面做了改进实例测试代码如下:还是用我16张鸣人的照片搞一波事情,每一个上述的改进点,我再代码中都是用 Difference 标注的。import torch as tfrom torch import nnfrom torch.autograd import Variablefrom torch.optim import RMSpropfrom torchvision import transformsfrom torchvis原创 2020-10-18 01:07:29 · 1626 阅读 · 0 评论 -
深度学习《自动编码器》
一:编码器(AE)介绍它在形状上和普通的BP网络,或者是卷积网络很相似,都是由输入层,隐藏层,输出层组成的,只不过在我们的之前学习中,BP神经网络和卷积神经网络都用来做分类使用了,也就是在监督学习的场景下做分类。AE是是无监督学习工作的,数据本身没有标签,AE的输出Y的标签刚好就是数据本身,也就是说,输入端是X,输出端是Y,且恰恰Y=X,先来看看网络结构。输入端是数据本身X,最中间的隐藏层是code层,节点的数目维度要小于输出端的维度,在input层和code层之间,还可以自定义很多隐藏层,这一部分原创 2020-10-16 06:28:11 · 1706 阅读 · 0 评论 -
Pytorch《LSTM模型》
前面的博文我们讲了LSTM的原理与分析,这一篇我们用pytorch类LSTM做测试完整测试代码如下,用于进行MNIST数据集测试,主要学习LSTM类的输入输出维度。这里定义的LSTM模型是用了三层深度模型,双向的,输出层增加了线性转换。完整代码如下:import torchimport torch.nn as nnimport torch.optim as optimimport torchvisionfrom torchvision import transforms# step 1:原创 2020-10-13 17:19:15 · 1607 阅读 · 0 评论 -
Pytorch《DCGAN模型》
这一博文我们来共同学习下DCGAN,也就是深度卷积GAN的意思。一:DCGAN(Deep Convolutional Generative Adversarial Networks)原理上图是构造器的结构。和普通的卷积神经网络很相似,作为GAN发展出来的网络,其实原理和GAN是一样的,是把D模型和D模型网络换成了卷积神经网络,还做了一些结构上的变化,这些变化可以提高网络输出样本的质量和收敛速度。另外顺带提一下,GAN的作用还有就是构造数据的作用,有时候我们无法得到大量的数据,我们可以自己只在一些数据原创 2020-10-11 03:30:04 · 1050 阅读 · 1 评论 -
Pytorch《GAN模型生成MNIST数字》
这里的代码都是,参考网上其他的博文学习的,今天是我第一次学习GAN,心情难免有些激动,想着赶快跑一个生成MNIST数字图像的来瞅瞅效果,看看GAN的神奇。参考博文是如下三个:https://www.jb51.net/article/178171.htmhttps://blog.csdn.net/happyday_d/article/details/84961175https://blog.csdn.net/weixin_41278720/article/details/80861284代码不是原创原创 2020-10-09 06:57:52 · 655 阅读 · 3 评论 -
《Pytorch - RNN模型》
前言:之前的博文部分地讲解了RNN的标准结构,也用pytorch的RNNCell类和RNN类实现了前向传播的计算,这里我们再举一个例子,做一个特别简单特别简单特别简单特别简单的翻译器,目标如下:将英文hello and thank you翻译成汉语拼音ni hao qie duo xie ni篇幅有限,我们拿这五个数据练手吧。如下两个例子也是为了让我们学习一下RNN相关维度的概念。一:使用RNNCell类实现简单的字符串翻译这里我们需要用到one-hot vector技术,也就是我们建立一个字符原创 2020-10-07 06:36:36 · 663 阅读 · 1 评论 -
《Pytorch - CNN模型》
2020年10月5号,依然在家学习。今天是我写的第四个 Pytorch程序, 这一次我想把之前基于PyTorch实现的简易的传统的BP全连接神经网络改写成CNN网络,想看看对比和效果差异。这一次我设计的是一个两个卷积层,两个全连接层的网络,模型如下描述。# 输入数据维度是[batch_size, 1, 28, 28], 批量是batch_size, 每个Img的通道是1, 图片大小是28*28# 第一层卷积核维度是[1, 10, 5 ,5], 输入通道是1, 输出通道是10, 卷积核大小是 5*5原创 2020-10-05 23:18:57 · 1426 阅读 · 0 评论 -
《Pytorch - BP全连接神经网络模型》
2020年10月4号,国内已经5号凌晨了,依然在家学习。今天是我写的第三个 Pytorch程序,从今天起也算是入门了。这一次我想把之前自己手写的matlab实现的简易的传统的BP神经网络在Pytorch上重新实现一遍,想看看对比和效果差异。这一次我设计的是一个四个层的全连接网络[784, 400, 200, 100, 10]的网络,输入层是400个节点,输出层是10个节点。其他的都是隐藏层,这里每一层节点的输出我用的是ReLu函数作为激活函数。测试数据依然是MNIST数据集。核心步骤描述如下:1:原创 2020-10-05 01:19:43 · 7556 阅读 · 9 评论 -
《Pytorch - 逻辑回归模型》
2020年10月4号,依然在家学习。今天是我写的第二个 Pytorch程序,从今天起也算是入门了。这里是简单的实现了逻辑回归开始。回顾线性回归,线性模型如下 y = wx + b,图画的丑了,意思到了就行。回顾逻辑回归,线性模型如下 y =σ(wx + b) ,图画的丑了,意思到了就行。也就是逻辑回归其实就是在之前的线性回归的基础上增加了一个 sigmoid函数层。而且误差损失函数也会发生变化,需要使用二分类的误差损失函数,具体细节在很早的博文机器学习里面有介绍,这里就不多赘述了。话不多说,原创 2020-10-04 22:58:06 · 271 阅读 · 0 评论 -
《Pytorch - 线性回归模型》
2020年10月4号,依然在家学习。今天是我写的第一个 Pytorch程序,从今天起也算是入门了。就从简单的线性回归开始吧。话不多说,我就直接上代码实例,代码的注释我都是用中文直接写的。import torch# Step 1: ========创建模型========# 定义一个类,继承自 torch.nn.Module,torch.nn.Module是callable的类# 在整个类里面重新定义一个线性回归模型 y = wx+b# 整个子类需要重写forward函数,class L原创 2020-10-04 21:38:00 · 205 阅读 · 0 评论 -
《Pytorch简要安装指导》
在举国欢庆的时候,我只能苦逼地待在家学习,欧洲的疫情太严重,哪里都去不了。之前我们学习了一些机器学习算法和深度学习的算法,理论知识毫无疑问必不可少,但也不能缺少实践,今天就用业界流行的深度学习框架来进行一些实践,会大大减少我们的学习时间成本,正所谓工欲善其事必先利其器。让我们开始第一步,安装PyTorch。一:安装AnacondaAnaconda 是安装管理python软件包的软件,含有命令集conda。1:打开链接:https://www.anaconda.com/products/individ原创 2020-10-04 18:05:55 · 405 阅读 · 0 评论