pytorch
qq_28888837
这个作者很懒,什么都没留下…
展开
-
测试结果比训练结果差很多
测试结果比训练结果差很多在深度学习中,我们训练完一个模型,利用起测试的时候,发现效果下降了好多。这里面有一部分原因可能是模型本身设计不好导致的过拟合。但是当你用的网络没问题,那还有可能是哪里的问题了。我也是经过了一段时间排查,发现忘记写net.eval()了,这个非常重要。我们可以看一下其源码里面如何描述的:This has any effect only on certain modules. See documentations ofparticular modules for details原创 2020-05-24 14:28:15 · 2976 阅读 · 0 评论 -
显卡/GPU显存在进程杀掉后仍然被占用
显卡/GPU显存在进程杀掉后仍然被占用可以使用fuser -v /dev/nvidia*查看占用显存的进程,一般这些进程都是读取数据的,所以即使把你的python杀掉,这些仍然在后台运行。由于数目过多,可以使用下面的批处理语句进行处理:fuser -v /dev/nvidia* |awk ‘{for(i=1;i<=NF;i++)print "kill -9 " $i;}’...原创 2020-03-23 12:28:41 · 2541 阅读 · 1 评论 -
visdom TensorboardX进行可视化-包括对高维特征可视化(T-SNE PCA等)
文章目录一、Visdom安装与使用小案例二、TensorBoardX案例一案例二使用PROJECTOR对高维向量可视化绘制网络结构一、VisdomVisdom是Facebook在2017年发布的一款针对PyTorch的可视化工具。visdom由于其功能简单,一般会被定义为服务器端的matplot,也就是说我们可以直接使用python的控制台...转载 2020-03-02 20:05:57 · 2053 阅读 · 0 评论 -
Yolo v1 解析
Yolo v1 解析yolo是一个非常优秀的目标检测算法,由于其使用了端到端的方案,并且对图片进行一遍遍历就能够得出结果,所以其速度非常快。虽然yolo v1的精度不是很高,但是其速度非常快,所以在工业界应用很普遍。但yolo的论文读起来非常的难懂,所以这里就结合代码来分析一下yolo v1。我们主要通过三方面进行分析: 网络结构,数据集构造以及损失。yolo简单介绍yolo首将一张图片看...原创 2020-02-28 19:33:28 · 199 阅读 · 0 评论 -
ResNet结构解析及pytorch代码
ResNet结构解析及pytorch代码标签: pytorchResNet是恺明大神提出来的一种结构,近些年的一些结构变种,很多也是基于ResNet做的一些改进,可以说ResNet开创了更深的网络的先河,并且在很多计算机视觉学习上都取得了不错的效果。ResNet和传统网络结构的核心区别ResNet本质上是为了缓解梯度问题的,随着传统的卷积网络结构越来越深,大家发现效果可能会降低,所以限制...原创 2019-12-22 11:24:53 · 988 阅读 · 0 评论 -
pytorch多个反向传播
pytorch多个反向传播标签: pytorch之前我的一篇文章pytorch 计算图以及backward,讲了一些pytorch中基本的反向传播,理清了梯度是如何计算以及下降的,建议先看懂那个,然后再看这个。从一个错误说起:RuntimeError: Trying to backward through the graph a second time, but the buffers h...原创 2019-12-22 11:21:25 · 7120 阅读 · 4 评论 -
pytorch 计算图以及backward
pytorch 计算图以及backward标签 : pytorchpytorch 计算图pytorch是深度学习框架,而深度学习其实本质就是一大堆矩阵乘法,最后用来模拟一个高维拟合函数。无论是pytorch还是tensorflow都是把这些计算保存到一个计算图里面,其实可以看作一颗树,如果学习过数据结构,对于下面的表示应该不陌生:其实上面这个就是一个计算图,计算了y = a*w,这个过...原创 2019-12-22 11:20:45 · 1239 阅读 · 3 评论 -
风格迁移--生成你想要的风格
风格迁移–生成你想要的风格标签: pytorch随着深度网络的流行,用AI作画也不再是问题,比如下面这一张:你能看出来是手画的,还是自动生成的吗。下面介绍一个风格迁移网络,能够帮你生成任意你想要的style。本文也会提供一个Starry_Night_Over_the_Rhone的style模型,大家可以自己后台回复style_transform获取代码和模型。下面简单介绍一下风格迁移...原创 2019-12-22 11:17:03 · 790 阅读 · 2 评论 -
TypeError_ an integer is required (got type tuple) RandomResizedCrop
TypeError: an integer is required (got type tuple) RandomResizedCrop标签(空格分隔): pytorch这个错误,可能是因为版本引起的,但是我在网上没有找到解决方案,自己查看源码发现了问题。代码如下: from PIL import Imageimg = Image.open("face-265.bmp").conve...原创 2019-11-01 21:49:22 · 4778 阅读 · 0 评论 -
pytorch第五弹
pytorch第五弹标签: pytorch 深度学习前面第四节讲了关于如何定义pytorch的输入的问题,学会了简单的数据输入,下面就可以直接进行卷积神经网络了,也就是深度学习里面重要的一环,网络结构的搭建–构建前向传播的过程。卷积操作深度学习中最为基础的就是卷积操作,虽然在学习卷积的时候觉得非常难,但是在pytorch里面却定义的非常简单:import torchimport to...原创 2019-09-25 14:45:51 · 514 阅读 · 0 评论 -
pytorch第五弹
pytorch第五弹标签: 深度学习 pytorch上面说了关于pytorch的输入方案,但是有了输入还要学会对输入进行处理,也就是将输入进行前向传播。在前向传播里面一般包括卷积层,池化层,激活函数等。这些在pytorch中都有对应的实现。卷积操作import torch.nn as nnimport torch.nn.functional as Fconv1 = nn.Conv2d...原创 2019-08-17 16:56:59 · 148 阅读 · 0 评论 -
pytorch第三弹
pytorch第三弹标签: pytorch 深度学习什么是深度学习深度学习是将输入的数据先经过多层的卷积层(利用卷积核)进行特征提取,把提取的特征利用神经网络进行分类或者回归,通过将分类或者回归的结果和数据的真是标签进行距离计算,算出来一个损失。上面这个几个步骤构成了叫做前向传播的东西。而我们的目的是为了使得损失最小,也就是使得我们预测得到的结果无限的接近真实的标签,这里用到最优化的方法,...原创 2019-08-11 21:37:12 · 116 阅读 · 0 评论 -
pytorch学习-从入门到mnist(一)
pytorch学习-从入门到mnist(一)标签: pytorch在学习过Tensorflow之后,其实学习pytorch并不是特别难,因为很多地方是相通的,可能每个库会有自己的深层特性,但是在初学的时候对于简单api的调用还是易懂的。pytroch定义Tensor因为在这些深度学习库中张量是一个通用的东西,所以要先学会怎么定义一个Tensor,简单的我们可以直接把ndarray变为一个...原创 2019-04-13 09:23:14 · 747 阅读 · 0 评论 -
pytorch学习-从入门到mnist(二)
pytorch学习-从入门到mnist(二)标签: pytorch前面pytorch学习-从入门到mnist(一)已经说了如何定义网络,如何使用优化器,以及如何进行梯度下降。并且使用回归问题做了测试。这里要使用神经网络最常用的mnist搭建一个简单的CNN进行预测。至于什么是CNN以及卷积层,池化层这里不展开说明。加载mnist数据集pytorch提供了专门的函数来加载mnist,并且进...原创 2019-04-13 09:37:21 · 205 阅读 · 0 评论 -
pytorch实现Resnet
pytorch实现Resnet标签: pytorch resnet网络结果及其基本单元对于Resnet来说基本,只要把其基本结构抽离出来即可,其他的其实和以前我们的普通卷积神经网络很像。而Resnet中最基本的结构就是一个残差块如下:可以看出一个残差块分为左右两部分,左边其实就是普通卷积操作,而右边什么都没有(不过在实际中会有一个卷积),然后输出就是两个的和。所以一个对于一个输入x ...原创 2019-05-05 17:28:40 · 3831 阅读 · 0 评论 -
visdom端口问题(全蓝,没内容)
visdom端口问题(全蓝,没内容)标签: pytorch安装visdom无论是使用pip或者conda都能安装的,网上的相关教程也很多,直接安装即可。可能会出现有些网上说的缺少相应js文件的问题,可以参考这篇文章去下载对应的js文件。修改端口由于使用的是服务器,所以可能端口大家会相互冲突,所以这个时候需要修改端口,在启动visdom时候,使用python -m visdom.ser...原创 2019-05-27 15:51:08 · 3516 阅读 · 0 评论 -
CAM Class Activation Mapping -pytorch
CAM Class Activation Mapping -pytorch标签: pytorchCAM是类激活图,是在Learning Deep Features for Discriminative Localization 这篇文章中提出的,主要的作用是中间层的特征可视化。通过CAM可以看出来在深度网络中图片的哪一部分能起到作用,这样对于深度网络有更好的解释性。原理传统的深度学习,我...原创 2019-07-08 08:41:59 · 2273 阅读 · 5 评论 -
pytorch第一弹
pytorch第一弹标签: pytorch 深度学习本系列需要有基本的python编程能力以及对深度学习有皮毛的了解,比如知道什么是前向传播,反向传播,什么是卷积池化等。为什么是pytorch随着深度学习不断火热,也出现了大量的深度学习框架,借助这些深度学习框架你能很快的实现一个深度网络。对于这些框架而言,其核心就是实现了一些基本的操作-比如卷积,池化以及一些常见的损失函数,激活函数、还...原创 2019-08-08 11:29:31 · 193 阅读 · 0 评论 -
pytorch第四弹
pytorch第四弹标签: pytorch 深度学习上面讲到深度学习的五要素,这次则讲深度学习的第一个要素-输入,只有有了输入,深度学习才能有东西处理,所以输入是第一步。随机生成数据适用场景:当你拿到一个github上的代码,但是没有数据或者数据很大要下载很久,而你想调试一下网络结构,这个时候就能先随机生成一个batch的数据,然后输入到网络里面进行测试:data = torch.ra...原创 2019-08-13 19:55:59 · 157 阅读 · 0 评论 -
pytorch第二弹
pytorch第二弹标签(空格分隔): pytorch 深度学习pytorch中的numpy深度学习是以矩阵为基础的,里面的前向传播都是用矩阵进行计算的,所以在深度学习框架里面需要大量的矩阵操作以及定义。学过python的都知道,在python里面有一个科学工具包numpy是专门来操作矩阵的,在pytroch里面也有类似的操作,pytorch里面使用Tensor代替numpy。numpy...原创 2019-08-09 14:15:00 · 151 阅读 · 0 评论 -
torch.nn.Linear 与魔法属性
torch.nn.Linear 与魔法属性标签: pytorch这篇文章不是说torch.nn.Linear这个类怎么用,因为网上有大把的东西,而是想通过这个引申出一个关于python中的魔法函数。如果你学过torch,你肯定知道我们建立层可以通过hidden = torch.nn.Linear(n_feature,n_hidden)建立一个单层的网络,但是下面我们使用的时候可能你就看不太...原创 2019-04-10 20:26:36 · 1613 阅读 · 0 评论