
深度学习
开飞机的小毛驴儿
自律者自由
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据降维与可视化t-SNE
转载自:数据降维与可视化——t-SNE_hustqb的博客-CSDN博客_t-sne可视化声明:manifold:可以称之为流形数据。像绳结一样的数据,虽然在高维空间中可分,但是在人眼所看到的低维空间中,绳结中的绳子是互相重叠的不可分的。 参考sklearn官方文档 对数据降维比较熟悉的朋友可以看这篇博客t-SNE实践——sklearn教程数据降维与可视化——t-SNE t-SNE是目前来说效果最好的数据降维与可视化方法,但是它的缺点也很明显,比如:占内存大,运行时间长.转载 2022-02-28 16:54:40 · 3694 阅读 · 0 评论 -
交叉熵损失及Pytorch实现中的“坑”
参考资料1:损失函数|交叉熵损失函数 - 知乎以图像分类任务为例,假设有两个模型对输入图像中的动物类别进行预测,预测类别可能为猫、狗和猪。假设两个模型均是通过sigmoid或者softmax的方式输出每个预测结果的概率值。模型1的预测结果如下:模型2的预测结果如下:对比模型1和模型2的预测结果,可以看出模型1对样本1和样本2以非常微弱的优势判断正确,对于样本3则彻底错误;而模型2则对样本1和样本2的判断非常准确,对于样本3判断错误,但是错误并非特别离谱。如果直接使用classi.原创 2022-01-13 03:59:58 · 1550 阅读 · 1 评论 -
PyTorch指定维度求最大最小值
原文链接:How to efficiently normalize a batch of tensor to [0, 1] - #2 by ptrblck - PyTorch ForumsA -= A.min(1, keepdim=True)[0]A /= A.max(1, keepdim=True)[0]原创 2021-12-03 10:09:16 · 3175 阅读 · 0 评论 -
pytorch计算loss时图像局部加权
参考链接:https://gist.github.com/ptrblck/4dfd97f487c469d01a4aa8d738c893ea关键代码:criterion=nn.NLLLoss(reduce=False)loss=criterion(output,target)loss=loss*weightsloss=loss.sum()/weights.sum()原创 2021-10-12 10:40:35 · 1046 阅读 · 0 评论 -
pretrain model默认保存路径
/home/username/.cache/torch/hub/checkpoints/resnet18-....pth原创 2021-10-09 17:00:34 · 591 阅读 · 0 评论 -
关于tensorwatch的各种报错
最终解决方案是建立了一个新的虚拟环境,对默认的代码做了一些修改。报错或警告的内容包括:torch._C.Value object has no attribute 'uniqueName'ONNX's Upsample /Resize operator did not match until opset 11Pytorch's Interpolation until opset 11_optimize_trace_missing 1 required positional argument.原创 2021-06-24 22:29:26 · 1983 阅读 · 0 评论 -
pytorch损失函数之nn.CrossEntropyLoss()、nn.NLLLoss()
转载自:https://blog.csdn.net/genous110/article/details/89456323,本文只做个人记录学习使用,版权归yuan'zu转载 2021-06-15 08:39:31 · 604 阅读 · 0 评论 -
FileNotFoundError: [Errno 2] No such file or directory: ‘dvipng‘:‘dvipng‘
在使用seaborn绘图的时候报题目中的错误,怎么找都没有找到;费尽气力,最后定位到自己导入的两个模型from lib.model import xxx最后发现是xxx中与matplotlib相关的两行代码出现了问题。出现问题的代码是:from matplotlib import rcrc('font'...)rc('text',usetex=True)直接把usetex所在行注释掉即恢复正常。因此,当读者出现类似错误的时候,可以看看是不是自己导入的模块中用到了别人写的代码,而别人写的原创 2021-05-17 23:24:47 · 782 阅读 · 0 评论 -
有关weighted loss的代码实现
https://discuss.pytorch.org/t/updating-only-some-values-in-backward-pass/38192https://discuss.pytorch.org/t/mse-l2-loss-on-two-masked-images/28417/5https://discuss.pytorch.org/t/weighted-pixelwise-nllloss2d/7766https://discuss.pytorch.org/t/how-to-co原创 2021-05-08 08:32:08 · 979 阅读 · 0 评论 -
pytorch粗暴查看中间梯度是否正常
示例代码如下:loss.backward()optimizer.step()s=torch.sum(model.FC.weight.data)print(s)以上代码可以作为梯度是否正常更新的一种参考。原创 2021-04-12 16:16:41 · 1009 阅读 · 0 评论 -
在Pytorch中导入二值的ground truth图像
参考自:https://stackoverflow.com/questions/65979207/applying-a-simple-transformation-to-get-a-binary-image-using-pytorch在pytorch导入二值图的时候,可能由于写入等问题,致使原始的二值图像导入的时候变成不是二值的,有一些近乎二值的小数,这样使得评测的时候可能会有一些问题。如何解决呢?关键思路为仿照transforms里面其它变换类型的实现方式,自己写一个二值的变换函数,以次来确保原始的二原创 2021-03-29 10:42:23 · 932 阅读 · 0 评论 -
自监督学习转载
转载自:https://zhuanlan.zhihu.com/p/108906502,本文只做个人记录学习使用,版权归原作者所有。学习的范式我们首先来回顾下机器学习中两种基本的学习范式,如图所示,一种是监督学习,一种是无监督学习。监督学习与无监督学习[1]监督学习利用大量的标注数据来训练模型,模型的预测和数据的真实标签产生损失后进行反向传播,通过不断的学习,最终可以获得识别新样本的能力。而无监督学习不依赖任何标签值,通过对数据内在特征的挖掘,找到样本间的关系,比如聚类相关的任务。有监督和转载 2021-03-03 16:55:55 · 394 阅读 · 1 评论 -
Pytorch之ImageFolder
转载自:https://blog.csdn.net/weixin_40123108/article/details/85099449,本文只做个人记录学习使用,版权归原作者所有。torchvision已经预先实现了常用的Dataset,包括前面使用过的CIFAR-10,以及ImageNet、COCO、MNIST、LSUN等数据集,可通过诸如torchvision.datasets.CIFAR10来调用。在这里介绍一个会经常使用到的Dataset——ImageFolder。ImageFolder假设所有的转载 2021-02-22 23:11:35 · 252 阅读 · 0 评论 -
有了BN还需要对输入图像进行归一化吗
有意思的观点:https://www.zhihu.com/question/264952701https://www.zhihu.com/question/68044631原创 2021-01-28 22:57:44 · 915 阅读 · 3 评论 -
Pytorch动态调整学习率
转载自:http://www.spytensor.com/index.php/archives/32/?igdyxo=ebpne2,本文只做个人记录学习使用,版权归原作者所有。1.自定义根据epoch改变学习率def adjust_learning_rate(optimizer, epoch): """Sets the learning rate to the initial LR decayed by 10 every 30 epochs""" lr = args.lr * (0转载 2021-01-28 16:09:55 · 999 阅读 · 0 评论 -
Pytorch中的Dataloader返回哪些东西?
参考https://zhuanlan.zhihu.com/p/30934236,https://blog.csdn.net/jzwong/article/details/108867297?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161179811616780269879401%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25原创 2021-01-28 10:05:34 · 16375 阅读 · 0 评论 -
解决关闭Run窗口时点了Disconnect导致项目一直在跑的问题
转载自:https://blog.csdn.net/csdn18702502144/article/details/84548442,本文只做个人记录学习使用,版权归原作者所有。1、在idea下方窗口中找到Terminal打开2、输入jps显示所有正在运行的进程3、找到你要关闭的进程的id4、输入taskkill /pid 进程id /f强制关闭进程以防忘记记录一下。...转载 2021-01-19 00:38:35 · 428 阅读 · 0 评论 -
Python中下划线的5中含义
转载自:https://zhuanlan.zhihu.com/p/36173202,本文只做个人记录学习使用,版权归原作者所有。本文介绍了Python中单下划线和双下划线的各种含义和命名约定,名称修饰的工作原理,以及它如何影响你自己的Python类。单下划线和双下划线在Python变量和方法名称中都各有其含义。有一些含义仅仅是依照约定,被视作是对程序员的提示,而有一些含义是由Python解释器严格执行的。本文中,我们将讨论5种下划线模式和命名约定,以及他们如何影响Python程序的行为:单前转载 2021-01-18 00:54:13 · 532 阅读 · 0 评论 -
如何用矩阵的形式存储list对象?
在我的代码中,希望实现以下的功能,以numpy建一个二维数组或者说矩阵,其中的每一个元素都是一个list对象,即以mat[0][0],mat[0][1],mat[1][0],mat[1][1]这种形式进行索引,而索引的结果是一个个的list对象。经过查询,发现了一个非常牛的函数,详情在此:https://stackoverflow.com/questions/4064277/2d-array-of-lists-in-python主要代码如下:from collections import defa原创 2021-01-15 03:22:01 · 644 阅读 · 0 评论 -
python生成任意形状的代码
https://github.com/scikit-image/scikit-image/blob/master/skimage/draw/_random_shapes.pyhttps://stackoverflow.com/questions/50731785/create-random-shape-contour-using-matplotlibhttps://stackoverflow.com/questions/16975458/how-to-go-from-a-contour-..原创 2021-01-07 09:41:32 · 1648 阅读 · 0 评论 -
基于tensorflow实现autoencoder
转载自:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/autoencoder.py,本文只做个人记录学习使用,版权归原作者所有。""" Auto Encoder Example.Build a 2 layers auto-encoder with TensorFlow to compress images to alower latent space and th转载 2021-01-02 22:22:51 · 320 阅读 · 0 评论 -
CNN网络中pooling层的作用
转载自:https://www.zhihu.com/question/36686900,谢志宁本文只做个人记录学习使用,版权归原作者所有。个人觉得主要是两个作用:1.invariance(不变性),这种不变性包括translation(平移),rotation(旋转),scale(尺度)2.保留主要特征同时减少参数(降维,效果类似PCA)和计算量,防止过拟合,提高模型的泛化能力(1)translation invariance:这里举一个简单的例子(数字识别),假设有一个16x16的图.转载 2020-12-18 13:09:35 · 430 阅读 · 0 评论 -
PyTorch查看模型和数据是否在GPU上
转载自:https://www.cnblogs.com/picassooo/p/13736843.html,本文只做个人记录学习使用,版权归原作者所有。import torchimport torch.nn as nn # ----------- 判断模型是在CPU还是GPU上 ---------------------- model = nn.LSTM(input_size=10, hidden_size=4, num_layers=1, batch_first=True)print(.转载 2020-12-10 16:24:18 · 23284 阅读 · 1 评论 -
pytorch查看网络参数显存占用量等
转载自:https://blog.csdn.net/weixin_45292794/article/details/108227437,可能略有修改,本文之作个人纪录学习使用,版权归原作者所有。1.使用torchstatpip install torchstatfrom torchstat import statimport torchvision.models as modelsmodel = models.resnet152()stat(model, (3, 224, 224))转载 2020-12-10 16:05:19 · 6254 阅读 · 1 评论 -
Pytorch测试数据集和Groundtruth绑定在一起
先前写过不同的方式,今天做一个简单的整理。第一种,单独写一个类用于绑定测试图像及对应的groundtruth,详情参考以下代码(手敲,可能有拼写错误),然后就可以使用诸如dataset=TestDataSet(...)的方式导入测试数据集,在使用的时候就可以直接在dataloader中加载图像及对应的groundtruth.import osimport torchimport numpy as npimport torch.utils.data as tudimport torch.原创 2020-12-09 17:02:23 · 1253 阅读 · 0 评论 -
ResNet网络结构分析
转载自:https://zhuanlan.zhihu.com/p/79378841,本文只做个人记录学习使用,版权归原作者所有。今天回顾了ResNet的论文Deep Residual Learning for Image Recognition,又结合PyTorch官方代码,整理一遍ResNet的结构,在这里写个总结。首先,ResNet在PyTorch的官方代码中共有5种不同深度的结构,深度分别为18、34、50、101、152(各种网络的深度指的是“需要通过训练更新参数”的层数,如卷积层,全.转载 2020-10-25 17:39:04 · 5925 阅读 · 0 评论 -
在pytorch中按照概率添加椒盐噪声
def salt_and_pepper(input,prob): noise_tensor=torch.rand(input) salt=torch.max(input) pepper=torch.min(input) input[noise_tensor<prob/2]=salt input[noise_tensor>1-prob/2]=pepper 代码类似,其中salt和pepper也许需要根据是否做了z_score做适当修改。其实最好.原创 2020-10-19 14:05:33 · 3390 阅读 · 1 评论 -
Pytorch中的学习率衰减及其用法
学习率衰减是一个非常有效的炼丹技巧之一,在神经网络的训练过程中,当accuracy出现震荡或loss不再下降时,进行适当的学习率衰减是一个行之有效的手段,很多时候能明显提高accuracy。Pytorch中有两种学习率调整(衰减)方法:使用库函数进行调整; 手动调整。1. 使用库函数进行调整:Pytorch学习率调整策略通过 torch.optim.lr_sheduler 接口实现。pytorch提供的学习率调整策略分为三大类,分别是:(1)有序调整:等间隔调整(Step),多间隔调整(M转载 2020-10-10 06:03:58 · 13267 阅读 · 0 评论 -
Pytorch中Dataloader保存文件名
转载自:https://gist.github.com/andrewjong/6b02ff237533b3b2c554701fb53d5c4d,本文只做个人记录学习使用,版权归原作者所有。import torchfrom torchvision import datasetsclass ImageFolderWithPaths(datasets.ImageFolder): """Custom dataset that includes image file paths. Extends转载 2020-09-29 14:04:24 · 4783 阅读 · 1 评论 -
‘torch._C.Value‘ object has no attribute ‘uniqueName‘神经网络可视化
也有可能是tensorwatch版本过高的原因,我修改为0.8版本即可正常如果不想用jupyter notebook或者其显示不正常,可以保存在本地查看structure=tw.draw_model(model,input)structure.save('network_structure')会在本地保存一个pdf文件对应网络结构...原创 2020-09-28 16:00:59 · 1205 阅读 · 0 评论 -
37 Reasons why your Neural Network is not working
This paper is copied fromhttps://blog.slavv.com/37-reasons-why-your-neural-network-is-not-working-4020854bd607, and the copyright belongs to the original author. I DO NOT have the copyright.The network had been training for the last 12 hours. It all lo..转载 2020-09-23 14:13:01 · 727 阅读 · 0 评论 -
Python创建类似Matlab中的cell数组
转载自:https://blog.csdn.net/raby_gyl/article/details/78016690,本文只做个人记录学习使用,版权归原作者所有。npose = 5nsmile = 2poseSmile_cell = np.empty((npose,nsmile),dtype=object)for i in range(5): for k in range(2): poseSmile_cell[i,k] = np.zeros((4,4))pri转载 2020-07-27 10:26:19 · 8292 阅读 · 1 评论 -
matplotlib绘图模式
https://www.jianshu.com/p/276b7f3ecd4d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation转载 2020-07-03 10:16:56 · 466 阅读 · 0 评论 -
调试时候Matplotlib不显示图像,或者说显示了无法弹出
import matplotlib.pyplot as pltplt.get_backend()查看输出结果,matplotlib默认的backend应该是TkAgg支持交互调试,如果输出结果并不是TkAgg,这时候使用以下命令切换回默认设置应该就可以了plt.switch_backend('TkAgg')...原创 2020-06-22 08:19:43 · 2354 阅读 · 0 评论 -
kaiming_initialization的pytorch实现
转载自:https://gist.github.com/jojonki/be1e8af97dfa12c983446391c3640b68,本文只做个人记录学习使用,版权归原作者所有。# https://github.com/pytorch/examples/blob/master/dcgan/main.py#L95-L102def weights_init(m): classname = m.__class__.__name__ if classname.find('Conv') !转载 2020-06-10 05:29:39 · 1370 阅读 · 0 评论 -
pytorch自适应学习率
def adjust_learning_rate(self,init_lr): self.opt.lr=init_lr*(0.5**(self.epoch//400))原创 2020-06-01 09:58:12 · 1551 阅读 · 0 评论 -
FFA-Net:文章理解于代码注释
转载自:https://blog.csdn.net/weixin_46773169/article/details/105462644,本文只做个人记录学习使用,版权归原作者所有。github链接:https://github.com/zhilin007/FFA-Net代码注释:data_utils.pyimport torch.utils.data as dataimport torchvision.transforms as tfsfrom torchvision.transf转载 2020-05-31 01:11:01 · 2554 阅读 · 2 评论 -
python遍历多层次文件夹并修改图像
参考:https://www.jianshu.com/p/433bfe17df08import osfrom PIL import Image#采用递归遍历的方式遍历图片def recurve_opt(root_1, root_2): if not os.path.exists(root_2): os.makedirs(root_2) for file in os.listdir(root_1): source_file = os.path.joi转载 2020-05-16 10:33:25 · 430 阅读 · 0 评论 -
权重衰减(weight decay)与学习率衰减(learning rate decay)
1. 权重衰减(weight decay)L2正则化的目的就是为了让权重衰减到更小的值,在一定程度上减少模型过拟合的问题,所以权重衰减也叫L2正则化。1.1 L2正则化与权重衰减系数L2正则化就是在代价函数后面再加上一个正则化项:其中C0代表原始的代价函数,后面那一项就是L2正则化项,它是这样来的:所有参数w的平方的和,除以训练集的样本大小n。λ就是正则项系数,权衡正则项与C0项的比重。另外还有一个系数1/2,1/2经常会看到,主要是为了后面求导的结果方便,后面那一项求导会...转载 2020-05-10 11:03:36 · 3329 阅读 · 0 评论 -
如何查看pytorch导入的包的版本位置等信息
第一种方式使用 pip list进行查询第二种在pycharm等编辑器里先导入包,再打印包的版本,例如import numpyprint(numpy.__version__)对应地,查看安装位置,可以使用import numpyprint(numpy.__file__)...原创 2020-05-01 03:17:42 · 4940 阅读 · 0 评论