Fork me on GitHub

03 2021 档案

摘要:上图也是某种意义上的梯度累加:一般是直接加总或者取平均,这样操作是scale了,其实影响不大,只是确保loss计算时的value不至于太大。batchsize超过64的情况不多(batchsize太大会有副作用),这时候优化的粒度没那么细,scale操作适当又做了惩罚。可能在某些时候比不加收敛更快 阅读全文
posted @ 2021-03-30 17:53 stardsd 阅读(14841) 评论(0) 推荐(0) 编辑
摘要:你想获得双倍训练速度的快感吗? 你想让你的显存空间瞬间翻倍吗? 如果我告诉你只需要三行代码即可实现,你信不? 在这篇博客里,瓦砾会详解一下混合精度计算(Mixed Precision),并介绍一款Nvidia开发的基于PyTorch的混合精度训练加速神器--Apex,最近Apex更新了API,可以用 阅读全文
posted @ 2021-03-30 16:26 stardsd 阅读(2069) 评论(0) 推荐(0) 编辑
摘要:1.实数数的表示 参考深入理解C语言-03-有符号数,定点数,浮点数 1.1定点数 一般在没有FPU寄存器的嵌入式系统中使用比较多。比如常见的32位系统中,将高16位作为整数部分,低16位作为小数部分。这样就可以用整数来模拟定点数的 + - * / 运算。关于定点数的数学分析,请参考以下文档:htt 阅读全文
posted @ 2021-03-30 16:02 stardsd 阅读(14950) 评论(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 阅读(553) 评论(0) 推荐(0) 编辑
摘要:论文地址: MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications​arxiv.org MobileNet的核心就是Depthwise separable convolution(深度可分离 阅读全文
posted @ 2021-03-17 15:08 stardsd 阅读(2496) 评论(0) 推荐(0) 编辑
摘要:PyTorch 两大转置函数 transpose() 和 permute(), 以及RuntimeError: invalid argument 2: view size is not compati 关心差别的可以直接看[3.不同点]和[4.连续性问题]前言在pytorch中转置用的函数就只有这两 阅读全文
posted @ 2021-03-17 10:55 stardsd 阅读(3493) 评论(0) 推荐(0) 编辑
摘要:学习率衰减是一个非常有效的炼丹技巧之一,在神经网络的训练过程中,当accuracy出现震荡或loss不再下降时,进行适当的学习率衰减是一个行之有效的手段,很多时候能明显提高accuracy。 Pytorch中有两种学习率调整(衰减)方法: 使用库函数进行调整; 手动调整。 1. 使用库函数进行调整: 阅读全文
posted @ 2021-03-17 09:31 stardsd 阅读(5544) 评论(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 阅读(3423) 评论(2) 推荐(0) 编辑
摘要:相对熵(relative entropy)就是KL散度(Kullback–Leibler divergence),用于衡量两个概率分布之间的差异。 一句话总结的话:KL散度可以被用于计算代价,而在特定情况下最小化KL散度等价于最小化交叉熵。而交叉熵的运算更简单,所以用交叉熵来当做代价。 如何衡量两个 阅读全文
posted @ 2021-03-15 14:49 stardsd 阅读(4655) 评论(0) 推荐(0) 编辑
摘要:原文: https://pytorch.org/tutorials/advanced/super_resolution_with_onnxruntime.html 注意 单击此处的下载完整的示例代码 在本教程中,我们描述了如何将 PyTorch 中定义的模型转换为 ONNX 格式,然后在 ONNX 阅读全文
posted @ 2021-03-15 14:23 stardsd 阅读(7720) 评论(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 阅读(693) 评论(0) 推荐(0) 编辑
摘要:1. Introduction #### PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。其官方主页为:PIL。 PIL历史悠久,原来是只支持python2.x的版本的,后来出现了 阅读全文
posted @ 2021-03-11 17:21 stardsd 阅读(10447) 评论(0) 推荐(0) 编辑
摘要:0.摘要 最近一段时间在学习yolo3,看了很多博客,理解了一些理论知识,但是学起来还是有些吃力,之后看了源码,才有了更进一步的理解。在这里,我不在赘述网络方面的代码,网络方面的代码比较容易理解,下面将给出整个yolo3代码的详解解析,整个源码中函数的作用以及调用关系见下图: 参考:https:// 阅读全文
posted @ 2021-03-11 16:50 stardsd 阅读(2662) 评论(0) 推荐(0) 编辑
摘要:本文主要介绍PyTorch框架下的可视化工具Tensorboard的使用 面向第一次接触可视化工具的新手<其实是备忘> 之前用了几天visdom,用起来很方便,但是画的图显得很乱,所以花了一晚上把代码里的visdom都改成了tensorboard。 Tensorboard 安装 原本是tensorf 阅读全文
posted @ 2021-03-11 11:17 stardsd 阅读(9486) 评论(0) 推荐(2) 编辑
摘要:Python vars() 函数 描述 vars() 函数返回对象object的属性和属性值的字典对象。 语法 vars() 函数语法: vars([object]) 参数 object -- 对象 返回值 返回对象object的属性和属性值的字典对象,如果没有参数,就打印当前调用位置的属性和属性值 阅读全文
posted @ 2021-03-11 10:58 stardsd 阅读(707) 评论(0) 推荐(0) 编辑
摘要:python的Tqdm模块 Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。 我的系统是window环境,首先安装python,接下来就是pip。 pip安装: 在python根目录下创建 阅读全文
posted @ 2021-03-09 14:44 stardsd 阅读(1034) 评论(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 阅读(785) 评论(0) 推荐(0) 编辑
摘要:Pytorch 为什么每一轮batch需要设置optimizer.zero_grad 根据pytorch中的backward()函数的计算,当网络参量进行反馈时,梯度是被积累的而不是被替换掉;但是在每一个batch时毫无疑问并不需要将两个batch的梯度混合起来累积,因此这里就需要每个batch设置 阅读全文
posted @ 2021-03-09 10:12 stardsd 阅读(2158) 评论(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 阅读(2043) 评论(0) 推荐(0) 编辑
摘要:队列Queue模块 """ 管道:subprocess stdin stdout stderr 队列:管道+锁 队列:先进先出 堆栈:先进后出 """ from multiprocessing import Queue # 创建一个队列 q = Queue(5) # 括号内可以传数字 标示生成的队列 阅读全文
posted @ 2021-03-04 19:18 stardsd 阅读(222) 评论(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 阅读(5289) 评论(0) 推荐(0) 编辑
摘要:Pytorch torchvision.utils.make_grid()用法 make_grid的作用是将若干幅图像拼成一幅图像。其中padding的作用就是子图像与子图像之间的pad有多宽。 这是padding为0的结果 这是padding为2的结果 在需要展示一批数据时很有用。———————— 阅读全文
posted @ 2021-03-01 10:35 stardsd 阅读(3814) 评论(0) 推荐(0) 编辑