Fork me on GitHub
摘要:一 介绍 Copy ''' 定义: In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threads from executing Python bytecodes at 阅读全文
posted @ 2021-04-29 18:14 stardsd 阅读(16) 评论(0) 推荐(0) 编辑
摘要:YOLO9000 VOC数据集可以检测20种对象,但实际上对象的种类非常多,只是缺少相应的用于对象检测的训练样本。YOLO2尝试利用ImageNet非常大量的分类样本,联合COCO的对象检测数据集一起训练,使得YOLO2即使没有学过很多对象的检测样本,也能检测出这些对象。 基本的思路是,如果是检测样 阅读全文
posted @ 2021-04-26 16:52 stardsd 阅读(16) 评论(0) 推荐(0) 编辑
摘要:YOLO的特点:使用来自整张图像的特征来预测每个bounding box 首先,将整张图分成S*S的网格,如果一个物体的中心落在某个网格中,就用该网格检测这个物体。 每个网格预测B个bounding box,以及对应的置信度。 置信度的含义: 模型确定这个box包含有物体的程度 模型认为box属于预 阅读全文
posted @ 2021-04-23 16:53 stardsd 阅读(19) 评论(0) 推荐(0) 编辑
摘要:前言 目标检测(Intance Detection) 和图像分割(Image Segmantation) 算是深度学习中两个个比较热门的项目了,单级式检测(YOLO、SSD)和双级式检测(Fast R-Cnn)代表了如今大多数的目标检测方法,而FCN、U-net、Deeplab则引领了图像分割的潮流 阅读全文
posted @ 2021-04-21 10:57 stardsd 阅读(80) 评论(0) 推荐(0) 编辑
摘要:在使用pytorch的时候利用下面的语句指定GPU为仅为"6",但是用nvidia-smi查看GPU使用时,仍默认为"0"号 import pytorchimport osos.environ['CUDA_VISIBLE_DEVICES'] = '6'解决方案:将上述语句放到当前这个python文件 阅读全文
posted @ 2021-04-20 18:27 stardsd 阅读(83) 评论(0) 推荐(0) 编辑
摘要:卷积神经网络为什么具有平移不变性? 在我们读计算机视觉的相关论文时,经常会看到平移不变性这个词,本文将介绍卷积神经网络中的平移不变性是什么,以及为什么具有平移不变性。 什么是平移不变性 不变性 不变性意味着即使目标的外观发生了某种变化,但是你依然可以把它识别出来。这对图像分类来说是一种很好的特性,因 阅读全文
posted @ 2021-04-20 16:39 stardsd 阅读(30) 评论(0) 推荐(0) 编辑
摘要:简介 f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,该方法源于PEP 498 – Literal String Interpolation,主要目的是使格式化字符串的操作更加简便。f-string在形 阅读全文
posted @ 2021-04-20 16:24 stardsd 阅读(33) 评论(0) 推荐(0) 编辑
摘要:1.nohup 用途:不挂断地运行命令。 语法:nohup Command [ Arg … ] [ & ] 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。 如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.o 阅读全文
posted @ 2021-04-20 16:19 stardsd 阅读(59) 评论(0) 推荐(0) 编辑
摘要:来自这篇论文:<Learning Spatial Fusion for Single-Shot Object Detection> 论文地址:https://arxiv.org/pdf/1911.09516v1.pdf 代码地址:https://github.com/ruinmessi/ASFF 捕 阅读全文
posted @ 2021-04-19 10:43 stardsd 阅读(65) 评论(0) 推荐(0) 编辑
摘要:检测算法实际同时作检测(坐标回归)和判别(分类),并且从直觉上讲,后者依赖于前者。而YOLO v3是个多任务,同时完成这2项任务。这与我以前常见的任务不一样,是个很好的学习案例。而在学习YOLOv3之前以及过程中,先后产生了许许多多的疑问。例如: 多个cell,多个anchor,在训练时哪个与gro 阅读全文
posted @ 2021-04-15 15:33 stardsd 阅读(44) 评论(0) 推荐(0) 编辑
摘要:前言yolov5提供了一种超参数优化的方法–Hyperparameter Evolution,即超参数进化。超参数进化是一种利用 遗传算法(GA) 进行超参数优化的方法,我们可以通过该方法选择更加合适自己的超参数。 提供的默认参数也是通过在COCO数据集上使用超参数进化得来的。由于超参数进化会耗费大 阅读全文
posted @ 2021-04-15 15:08 stardsd 阅读(120) 评论(0) 推荐(1) 编辑
摘要:store_true 是指带触发action时为真,不触发则为假, 代码去掉default初始化,其功能也不会变化 parser.add_argument('-c', action='store_true')# 或者parser.add_argument('-c', action='store_tr 阅读全文
posted @ 2021-04-15 14:30 stardsd 阅读(53) 评论(0) 推荐(0) 编辑
摘要:[python] numpy axis概念整理筆記 整理一下numpy和pandas中 axis(軸)的概念 以一個3x3 numpy array當做範例 ndarray = numpy.arange(1,10).reshape(3,3) [[1, 2, 3], [4, 5, 6], [7, 8, 阅读全文
posted @ 2021-04-15 11:00 stardsd 阅读(17) 评论(0) 推荐(0) 编辑
摘要:理解方式: [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 阅读(46) 评论(0) 推荐(0) 编辑
摘要:如何设置PyTorch的动态学习率 本文主要涉及内容:Optimizer、_LRScheduler等源码分析。本文依旧基于PyTorch 1.1.0。 Optimizer PyTorch提供了torch.optim.lr_scheduler来帮助用户改变学习率,下边将从Optimizer入手,看一下 阅读全文
posted @ 2021-04-13 15:10 stardsd 阅读(92) 评论(0) 推荐(0) 编辑
摘要:首先借用有心人士的一张相当直观清晰的图来划分各种协议:开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别 以下是上述协议的简单介绍:BSD开源协议BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作 阅读全文
posted @ 2021-04-13 15:07 stardsd 阅读(22) 评论(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 阅读(20) 评论(0) 推荐(0) 编辑
摘要:dataloader本质上是一个可迭代对象,使用iter()访问,不能使用next()访问; 使用iter(dataloader)返回的是一个迭代器,然后可以使用next访问; 也可以使用for inputs,labels in enumerate(dataloader)形式访问,但是enumera 阅读全文
posted @ 2021-04-12 17:11 stardsd 阅读(109) 评论(0) 推荐(0) 编辑
摘要:总结: 可迭代对象:list、dict都是可迭代对象,但不是迭代器 实现了next方法,则称迭代器 进一步的,如果惰性生成,就成为生成器,生成器分为生成器表达式和生成器函数(yield) 生成器 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含1 阅读全文
posted @ 2021-04-12 16:26 stardsd 阅读(23) 评论(0) 推荐(0) 编辑
摘要:【炼丹技巧】 在深度学习中,经常会使用EMA(指数移动平均)这个方法对模型的参数做平均,以求提高测试指标并增加模型鲁棒。 今天瓦砾准备介绍一下EMA以及它的Pytorch实现代码。 EMA的定义 指数移动平均(Exponential Moving Average)也叫权重移动平均(Weighted 阅读全文
posted @ 2021-04-12 09:23 stardsd 阅读(29) 评论(0) 推荐(0) 编辑
摘要:前言 基本的神经网络的知识(一般化模型、前向计算、反向传播及其本质、激活函数等)小夕已经介绍完毕,本文先讲一下深度前馈网络的BP过程,再基于此来重点讲解在前馈网络中用来初始化model参数的Xavier方法的原理。 前向 前向过程很简单,每一层与下一层的连接边(即参数)构成了一个矩阵(即线性映射), 阅读全文
posted @ 2021-04-08 10:02 stardsd 阅读(15) 评论(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 阅读(18) 评论(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 阅读(26) 评论(0) 推荐(0) 编辑
摘要:torch.optim torch.optim是一个实现了各种优化算法的库。大部分常用的方法得到支持,并且接口具备足够的通用性,使得未来能够集成更加复杂的方法。 如何使用optimizer 为了使用torch.optim,你需要构建一个optimizer对象。这个对象能够保持当前参数状态并基于计算得 阅读全文
posted @ 2021-04-07 15:05 stardsd 阅读(70) 评论(0) 推荐(0) 编辑
摘要:机器学习之课程式学习(Curriculum Learning) 在2009年的国际顶级机器学习会议ICML上,以机器学习领军人物Bengio为首的研究团队首次提出了课程式学习(Curriculum Learning)的概念,引起了机器学习领域的极大轰动。其后数十年间,众多关于课程式学习、自步学习(S 阅读全文
posted @ 2021-04-07 14:29 stardsd 阅读(42) 评论(0) 推荐(0) 编辑
摘要:比Momentum更快:揭开NAG的真面目 作为一个调参狗,每天用着深度学习框架提供的各种优化算法如Momentum、AdaDelta、Adam等,却对其中的原理不甚清楚,这样和一条咸鱼有什么分别!(误)但是我又懒得花太多时间去看每个优化算法的原始论文,幸运的是,网上的大神早就已经帮人总结好了:《A 阅读全文
posted @ 2021-04-07 10:42 stardsd 阅读(84) 评论(0) 推荐(0) 编辑
摘要:__init__.py的主要作用是: 1. Python中package的标识,不能删除 2. 定义__all__用来模糊导入 3. 编写Python代码(不建议在__init__中写python模块,可以在包中在创建另外的模块来写,尽量保证__init__.py简单) __init__.py 文件 阅读全文
posted @ 2021-04-01 16:02 stardsd 阅读(71) 评论(0) 推荐(0) 编辑
摘要:一、 在利用python处理数据的时候,经常会用到numpy API: np.random.seed() 与 np.random.RandomState() 但这两个函数的用法,一直不太好理解。在网上查找了许多文章,研究了下他们的异同。做个记录。 1,np.random.seed() 设置seed( 阅读全文
posted @ 2021-04-01 15:36 stardsd 阅读(59) 评论(0) 推荐(0) 编辑
摘要:未来 5-10年计算机视觉发展趋势 来源: CCF计算机视觉专委会 引言 计算机视觉是人工智能的“眼睛”,是感知客观世界的核心技术。进入 21世纪以来,计算机视觉领域蓬勃发展,各种理论与方法大量涌现,并在多个核心问题上取得了令人瞩目的成果。为了进一步推动计算机视觉领域的发展,CCF-CV组织了RAC 阅读全文
posted @ 2021-04-01 09:45 stardsd 阅读(44) 评论(0) 推荐(0) 编辑
摘要:上图也是某种意义上的梯度累加:一般是直接加总或者取平均,这样操作是scale了,其实影响不大,只是确保loss计算时的value不至于太大。batchsize超过64的情况不多(batchsize太大会有副作用),这时候优化的粒度没那么细,scale操作适当又做了惩罚。可能在某些时候比不加收敛更快 阅读全文
posted @ 2021-03-30 17:53 stardsd 阅读(156) 评论(0) 推荐(0) 编辑
摘要:你想获得双倍训练速度的快感吗? 你想让你的显存空间瞬间翻倍吗? 如果我告诉你只需要三行代码即可实现,你信不? 在这篇博客里,瓦砾会详解一下混合精度计算(Mixed Precision),并介绍一款Nvidia开发的基于PyTorch的混合精度训练加速神器--Apex,最近Apex更新了API,可以用 阅读全文
posted @ 2021-03-30 16:26 stardsd 阅读(38) 评论(0) 推荐(0) 编辑
摘要:1.实数数的表示 参考深入理解C语言-03-有符号数,定点数,浮点数 1.1定点数 一般在没有FPU寄存器的嵌入式系统中使用比较多。比如常见的32位系统中,将高16位作为整数部分,低16位作为小数部分。这样就可以用整数来模拟定点数的 + - * / 运算。关于定点数的数学分析,请参考以下文档:htt 阅读全文
posted @ 2021-03-30 16:02 stardsd 阅读(264) 评论(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 阅读(39) 评论(0) 推荐(0) 编辑
摘要:论文地址: MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications​arxiv.org MobileNet的核心就是Depthwise separable convolution(深度可分离 阅读全文
posted @ 2021-03-17 15:08 stardsd 阅读(114) 评论(0) 推荐(0) 编辑
摘要:PyTorch 两大转置函数 transpose() 和 permute(), 以及RuntimeError: invalid argument 2: view size is not compati 关心差别的可以直接看[3.不同点]和[4.连续性问题]前言在pytorch中转置用的函数就只有这两 阅读全文
posted @ 2021-03-17 10:55 stardsd 阅读(196) 评论(0) 推荐(0) 编辑
摘要:学习率衰减是一个非常有效的炼丹技巧之一,在神经网络的训练过程中,当accuracy出现震荡或loss不再下降时,进行适当的学习率衰减是一个行之有效的手段,很多时候能明显提高accuracy。 Pytorch中有两种学习率调整(衰减)方法: 使用库函数进行调整; 手动调整。 1. 使用库函数进行调整: 阅读全文
posted @ 2021-03-17 09:31 stardsd 阅读(218) 评论(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 阅读(127) 评论(0) 推荐(0) 编辑
摘要:相对熵(relative entropy)就是KL散度(Kullback–Leibler divergence),用于衡量两个概率分布之间的差异。 一句话总结的话:KL散度可以被用于计算代价,而在特定情况下最小化KL散度等价于最小化交叉熵。而交叉熵的运算更简单,所以用交叉熵来当做代价。 如何衡量两个 阅读全文
posted @ 2021-03-15 14:49 stardsd 阅读(64) 评论(0) 推荐(0) 编辑
摘要:原文: https://pytorch.org/tutorials/advanced/super_resolution_with_onnxruntime.html 注意 单击此处的下载完整的示例代码 在本教程中,我们描述了如何将 PyTorch 中定义的模型转换为 ONNX 格式,然后在 ONNX 阅读全文
posted @ 2021-03-15 14:23 stardsd 阅读(117) 评论(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 阅读(58) 评论(0) 推荐(0) 编辑