Fork me on GitHub
上一页 1 2 3 4 5 6 7 8 ··· 26 下一页
摘要: 理解方式: [i:j:s] 也就是,两个冒号分割了三个数i,j,s i是起始位置 j是终止位置(最终序列里边不包含终止位置) s就是step,步长 重点: 当写两个冒号的时候, [::-1],相当于省略了i,j,也就是取所有的i和j,但是步长为-1,也就是倒序 同理,[::-2]就是步长为-2,也就 阅读全文
posted @ 2021-04-15 10:39 stardsd 阅读(2297) 评论(0) 推荐(0) 编辑
摘要: 如何设置PyTorch的动态学习率 本文主要涉及内容:Optimizer、_LRScheduler等源码分析。本文依旧基于PyTorch 1.1.0。 Optimizer PyTorch提供了torch.optim.lr_scheduler来帮助用户改变学习率,下边将从Optimizer入手,看一下 阅读全文
posted @ 2021-04-13 15:10 stardsd 阅读(6922) 评论(0) 推荐(0) 编辑
摘要: 首先借用有心人士的一张相当直观清晰的图来划分各种协议:开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别 以下是上述协议的简单介绍:BSD开源协议BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作 阅读全文
posted @ 2021-04-13 15:07 stardsd 阅读(413) 评论(0) 推荐(0) 编辑
摘要: darknet的cfg文件中有一个配置参数: burn_in burn_in=1000这个参数在caffe中是没有的,一旦设置了这个参数,当update_num小于burn_in时,不是使用配置的学习速率更新策略,而是按照下面的公式更新 lr = base_lr * power(batch_num/ 阅读全文
posted @ 2021-04-13 12:38 stardsd 阅读(1874) 评论(0) 推荐(0) 编辑
摘要: dataloader本质上是一个可迭代对象,使用iter()访问,不能使用next()访问; 使用iter(dataloader)返回的是一个迭代器,然后可以使用next访问; 也可以使用for inputs,labels in enumerate(dataloader)形式访问,但是enumera 阅读全文
posted @ 2021-04-12 17:11 stardsd 阅读(4829) 评论(0) 推荐(0) 编辑
摘要: 总结: 可迭代对象:list、dict都是可迭代对象,但不是迭代器 实现了next方法,则称迭代器 进一步的,如果惰性生成,就成为生成器,生成器分为生成器表达式和生成器函数(yield) 生成器 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含1 阅读全文
posted @ 2021-04-12 16:26 stardsd 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 【炼丹技巧】 在深度学习中,经常会使用EMA(指数移动平均)这个方法对模型的参数做平均,以求提高测试指标并增加模型鲁棒。 今天瓦砾准备介绍一下EMA以及它的Pytorch实现代码。 EMA的定义 指数移动平均(Exponential Moving Average)也叫权重移动平均(Weighted 阅读全文
posted @ 2021-04-12 09:23 stardsd 阅读(5858) 评论(0) 推荐(1) 编辑
摘要: 前言 基本的神经网络的知识(一般化模型、前向计算、反向传播及其本质、激活函数等)小夕已经介绍完毕,本文先讲一下深度前馈网络的BP过程,再基于此来重点讲解在前馈网络中用来初始化model参数的Xavier方法的原理。 前向 前向过程很简单,每一层与下一层的连接边(即参数)构成了一个矩阵(即线性映射), 阅读全文
posted @ 2021-04-08 10:02 stardsd 阅读(294) 评论(0) 推荐(0) 编辑
摘要: if h > w: new_h, new_w = self.output_size * h / w, self.output_size else: new_h, new_w = self.output_size, self.output_size * w / h 阅读全文
posted @ 2021-04-07 16:11 stardsd 阅读(284) 评论(0) 推荐(0) 编辑
摘要: The last_epoch parameter is used when resuming training and you want to start the scheduler where it left off earlier. Its value is increased every ti 阅读全文
posted @ 2021-04-07 15:31 stardsd 阅读(2283) 评论(0) 推荐(0) 编辑
摘要: torch.optim torch.optim是一个实现了各种优化算法的库。大部分常用的方法得到支持,并且接口具备足够的通用性,使得未来能够集成更加复杂的方法。 如何使用optimizer 为了使用torch.optim,你需要构建一个optimizer对象。这个对象能够保持当前参数状态并基于计算得 阅读全文
posted @ 2021-04-07 15:05 stardsd 阅读(3052) 评论(0) 推荐(0) 编辑
摘要: 机器学习之课程式学习(Curriculum Learning) 在2009年的国际顶级机器学习会议ICML上,以机器学习领军人物Bengio为首的研究团队首次提出了课程式学习(Curriculum Learning)的概念,引起了机器学习领域的极大轰动。其后数十年间,众多关于课程式学习、自步学习(S 阅读全文
posted @ 2021-04-07 14:29 stardsd 阅读(3388) 评论(0) 推荐(0) 编辑
摘要: 比Momentum更快:揭开NAG的真面目 作为一个调参狗,每天用着深度学习框架提供的各种优化算法如Momentum、AdaDelta、Adam等,却对其中的原理不甚清楚,这样和一条咸鱼有什么分别!(误)但是我又懒得花太多时间去看每个优化算法的原始论文,幸运的是,网上的大神早就已经帮人总结好了:《A 阅读全文
posted @ 2021-04-07 10:42 stardsd 阅读(3783) 评论(0) 推荐(0) 编辑
摘要: __init__.py的主要作用是: 1. Python中package的标识,不能删除 2. 定义__all__用来模糊导入 3. 编写Python代码(不建议在__init__中写python模块,可以在包中在创建另外的模块来写,尽量保证__init__.py简单) __init__.py 文件 阅读全文
posted @ 2021-04-01 16:02 stardsd 阅读(3792) 评论(0) 推荐(1) 编辑
摘要: 一、 在利用python处理数据的时候,经常会用到numpy API: np.random.seed() 与 np.random.RandomState() 但这两个函数的用法,一直不太好理解。在网上查找了许多文章,研究了下他们的异同。做个记录。 1,np.random.seed() 设置seed( 阅读全文
posted @ 2021-04-01 15:36 stardsd 阅读(2272) 评论(0) 推荐(0) 编辑
摘要: 未来 5-10年计算机视觉发展趋势 来源: CCF计算机视觉专委会 引言 计算机视觉是人工智能的“眼睛”,是感知客观世界的核心技术。进入 21世纪以来,计算机视觉领域蓬勃发展,各种理论与方法大量涌现,并在多个核心问题上取得了令人瞩目的成果。为了进一步推动计算机视觉领域的发展,CCF-CV组织了RAC 阅读全文
posted @ 2021-04-01 09:45 stardsd 阅读(2897) 评论(0) 推荐(0) 编辑
摘要: 上图也是某种意义上的梯度累加:一般是直接加总或者取平均,这样操作是scale了,其实影响不大,只是确保loss计算时的value不至于太大。batchsize超过64的情况不多(batchsize太大会有副作用),这时候优化的粒度没那么细,scale操作适当又做了惩罚。可能在某些时候比不加收敛更快 阅读全文
posted @ 2021-03-30 17:53 stardsd 阅读(15405) 评论(0) 推荐(0) 编辑
摘要: 你想获得双倍训练速度的快感吗? 你想让你的显存空间瞬间翻倍吗? 如果我告诉你只需要三行代码即可实现,你信不? 在这篇博客里,瓦砾会详解一下混合精度计算(Mixed Precision),并介绍一款Nvidia开发的基于PyTorch的混合精度训练加速神器--Apex,最近Apex更新了API,可以用 阅读全文
posted @ 2021-03-30 16:26 stardsd 阅读(2177) 评论(0) 推荐(0) 编辑
摘要: 1.实数数的表示 参考深入理解C语言-03-有符号数,定点数,浮点数 1.1定点数 一般在没有FPU寄存器的嵌入式系统中使用比较多。比如常见的32位系统中,将高16位作为整数部分,低16位作为小数部分。这样就可以用整数来模拟定点数的 + - * / 运算。关于定点数的数学分析,请参考以下文档:htt 阅读全文
posted @ 2021-03-30 16:02 stardsd 阅读(15635) 评论(0) 推荐(0) 编辑
摘要: Daemon is not daemon, but what is it? "daemon thread" 是一个困扰了我很久的概念。官方文档是这么说的: A thread can be flagged as a “daemon thread”. The significance of this f 阅读全文
posted @ 2021-03-17 19:48 stardsd 阅读(568) 评论(0) 推荐(0) 编辑
摘要: 论文地址: MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications​arxiv.org MobileNet的核心就是Depthwise separable convolution(深度可分离 阅读全文
posted @ 2021-03-17 15:08 stardsd 阅读(2693) 评论(0) 推荐(0) 编辑
摘要: PyTorch 两大转置函数 transpose() 和 permute(), 以及RuntimeError: invalid argument 2: view size is not compati 关心差别的可以直接看[3.不同点]和[4.连续性问题]前言在pytorch中转置用的函数就只有这两 阅读全文
posted @ 2021-03-17 10:55 stardsd 阅读(3619) 评论(0) 推荐(0) 编辑
摘要: 学习率衰减是一个非常有效的炼丹技巧之一,在神经网络的训练过程中,当accuracy出现震荡或loss不再下降时,进行适当的学习率衰减是一个行之有效的手段,很多时候能明显提高accuracy。 Pytorch中有两种学习率调整(衰减)方法: 使用库函数进行调整; 手动调整。 1. 使用库函数进行调整: 阅读全文
posted @ 2021-03-17 09:31 stardsd 阅读(5822) 评论(0) 推荐(0) 编辑
摘要: 废话不多说直接上图 如图有a, b, c 三个 3x3的Tensor, 如果我想把这三个tensor的最后一个维度的元素相叠加,形成一个新的tensor 输入 d=torch.stack( (a,b,c) ,dim = 2) 就会发现他们在第二个维度像叠加,具体来说变化如下图所示 d[0][0]的位 阅读全文
posted @ 2021-03-15 15:12 stardsd 阅读(3457) 评论(2) 推荐(0) 编辑
摘要: 相对熵(relative entropy)就是KL散度(Kullback–Leibler divergence),用于衡量两个概率分布之间的差异。 一句话总结的话:KL散度可以被用于计算代价,而在特定情况下最小化KL散度等价于最小化交叉熵。而交叉熵的运算更简单,所以用交叉熵来当做代价。 如何衡量两个 阅读全文
posted @ 2021-03-15 14:49 stardsd 阅读(4763) 评论(0) 推荐(0) 编辑
摘要: 原文: https://pytorch.org/tutorials/advanced/super_resolution_with_onnxruntime.html 注意 单击此处的下载完整的示例代码 在本教程中,我们描述了如何将 PyTorch 中定义的模型转换为 ONNX 格式,然后在 ONNX 阅读全文
posted @ 2021-03-15 14:23 stardsd 阅读(7984) 评论(0) 推荐(0) 编辑
摘要: Numpy: Boolean Indexing import numpy as np A = np.array([4, 7, 3, 4, 2, 8]) print(A == 4) [ True False False True False False] Every element of the Ar 阅读全文
posted @ 2021-03-11 17:44 stardsd 阅读(712) 评论(0) 推荐(0) 编辑
摘要: 1. Introduction #### PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。其官方主页为:PIL。 PIL历史悠久,原来是只支持python2.x的版本的,后来出现了 阅读全文
posted @ 2021-03-11 17:21 stardsd 阅读(11043) 评论(0) 推荐(0) 编辑
摘要: 0.摘要 最近一段时间在学习yolo3,看了很多博客,理解了一些理论知识,但是学起来还是有些吃力,之后看了源码,才有了更进一步的理解。在这里,我不在赘述网络方面的代码,网络方面的代码比较容易理解,下面将给出整个yolo3代码的详解解析,整个源码中函数的作用以及调用关系见下图: 参考:https:// 阅读全文
posted @ 2021-03-11 16:50 stardsd 阅读(2698) 评论(0) 推荐(0) 编辑
摘要: 本文主要介绍PyTorch框架下的可视化工具Tensorboard的使用 面向第一次接触可视化工具的新手<其实是备忘> 之前用了几天visdom,用起来很方便,但是画的图显得很乱,所以花了一晚上把代码里的visdom都改成了tensorboard。 Tensorboard 安装 原本是tensorf 阅读全文
posted @ 2021-03-11 11:17 stardsd 阅读(9655) 评论(0) 推荐(2) 编辑
摘要: Python vars() 函数 描述 vars() 函数返回对象object的属性和属性值的字典对象。 语法 vars() 函数语法: vars([object]) 参数 object -- 对象 返回值 返回对象object的属性和属性值的字典对象,如果没有参数,就打印当前调用位置的属性和属性值 阅读全文
posted @ 2021-03-11 10:58 stardsd 阅读(717) 评论(0) 推荐(0) 编辑
摘要: python的Tqdm模块 Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。 我的系统是window环境,首先安装python,接下来就是pip。 pip安装: 在python根目录下创建 阅读全文
posted @ 2021-03-09 14:44 stardsd 阅读(1054) 评论(0) 推荐(0) 编辑
摘要: model.train() tells your model that you are training the model. So effectively layers like dropout, batchnorm etc. which behave different on the train 阅读全文
posted @ 2021-03-09 14:39 stardsd 阅读(801) 评论(0) 推荐(0) 编辑
摘要: Pytorch 为什么每一轮batch需要设置optimizer.zero_grad 根据pytorch中的backward()函数的计算,当网络参量进行反馈时,梯度是被积累的而不是被替换掉;但是在每一个batch时毫无疑问并不需要将两个batch的梯度混合起来累积,因此这里就需要每个batch设置 阅读全文
posted @ 2021-03-09 10:12 stardsd 阅读(2179) 评论(0) 推荐(1) 编辑
摘要: IPC机制 from multiprocessing import Queue, Process """ 研究思路 1.主进程跟子进程借助于队列通信 2.子进程跟子进程借助于队列通信 """ def producer(q): q.put('很高兴为您服务') def consumer(q): pri 阅读全文
posted @ 2021-03-05 16:35 stardsd 阅读(2113) 评论(0) 推荐(0) 编辑
摘要: 队列Queue模块 """ 管道:subprocess stdin stdout stderr 队列:管道+锁 队列:先进先出 堆栈:先进后出 """ from multiprocessing import Queue # 创建一个队列 q = Queue(5) # 括号内可以传数字 标示生成的队列 阅读全文
posted @ 2021-03-04 19:18 stardsd 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 进程互斥锁 多个进程操作同一份数据的时候,会出现数据错乱的问题 针对上述问题,解决方式就是加锁处理:将并发变成串行,牺牲效率但是保证了数据的安全 from multiprocessing import Process, Lock import json import time import rand 阅读全文
posted @ 2021-03-04 18:58 stardsd 阅读(227) 评论(0) 推荐(0) 编辑
摘要: “Perceptual Losses for Real-Time Style Transfer and Super-Resolution”论文出自斯坦福大学李飞飞团队,发表于ECCV 2016 论文地址:https://arxiv.org/abs/1603.08155补充材料地址:https://c 阅读全文
posted @ 2021-03-04 14:55 stardsd 阅读(5580) 评论(0) 推荐(0) 编辑
摘要: Pytorch torchvision.utils.make_grid()用法 make_grid的作用是将若干幅图像拼成一幅图像。其中padding的作用就是子图像与子图像之间的pad有多宽。 这是padding为0的结果 这是padding为2的结果 在需要展示一批数据时很有用。———————— 阅读全文
posted @ 2021-03-01 10:35 stardsd 阅读(3849) 评论(0) 推荐(0) 编辑
摘要: 使用pytorch的小伙伴们,一定看过下面这段代码 _, predicted = torch.max(outputs.data, 1) 那么,这里的 下划线_ 表示什么意思? 首先,torch.max()这个函数返回的是两个值,第一个值是具体的value(我们用下划线_表示),第二个值是value所 阅读全文
posted @ 2021-02-25 16:19 stardsd 阅读(3968) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 26 下一页