Fork me on GitHub
摘要: 谈谈评价指标中的宏平均和微平均 今天在阅读周志华老师的《机器学习》一书时,看到性能度量这一小节,里面讲到了宏平均和微平均的计算方法,这也是我一直没有很清晰的一个概念,于是在看了之后又查阅了一些资料,但是还是存在一些问题,想和大家分享一下。 (1)召回率、准确率、F值 对于二分类问题,可将样例根据其真 阅读全文
posted @ 2021-08-23 09:31 stardsd 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 原文链接:https://zhuanlan.zhihu.com/p/353680367 此篇文章内容源自 Attention Is All You Need,若侵犯版权,请告知本人删帖。 原论文下载地址: https://papers.nips.cc/paper/2017/file/3f5ee243 阅读全文
posted @ 2021-08-16 11:27 stardsd 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 文章目录 缘起 docker save docker export docker save和docker export的区别 脑洞 参考文献 很久没有写博客了,坟头草都长了老高了。写博客要靠惯性,一旦停下来时间长了,就很难再坚持下去。今天艰难地捡起来,以后每周至少写一篇。 这篇文章讲一讲docker 阅读全文
posted @ 2021-07-07 16:02 stardsd 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 以下内容都是针对Pytorch 1.0-1.1介绍。很多文章都是从Dataset等对象自下往上进行介绍,但是对于初学者而言,其实这并不好理解,因为有的时候会不自觉地陷入到一些细枝末节中去,而不能把握重点,所以本文将会自上而下地对Pytorch数据读取方法进行介绍。 1|0自上而下理解三者关系 首先我 阅读全文
posted @ 2021-07-02 09:10 stardsd 阅读(89) 评论(0) 推荐(0) 编辑
摘要: Pytroch网络模型:修改参数值,修改参数名,添加参数层,删除参数层 修改参数值 方法1 dict的类型是collecitons.OrderedDict,是一个有序字典,直接将新参数名称和初始值作为键值对插入,然后保存即可。 #修改前 dict = torch.load('./ckpt_dir// 阅读全文
posted @ 2021-06-29 14:45 stardsd 阅读(656) 评论(0) 推荐(0) 编辑
摘要: pytorch 打印模型层的名字的多个方式,以及对应显示,删除最后多个层的两种方式 def forward(self, x, last_cont=None): x = self.model(x) if self.use_dcl: mask = self.Convmask(x) mask = self 阅读全文
posted @ 2021-06-29 10:26 stardsd 阅读(506) 评论(0) 推荐(0) 编辑
摘要: mobilenet 中的通道数为什么要使用 _make_divisible 函数确保为 8 的整数倍? 问题 今天阅读一段 PyTorch 版的 mobilenet 时,发现了下面这个函数: def _make_divisible(v, divisor, min_value=None): """ T 阅读全文
posted @ 2021-06-21 10:16 stardsd 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 介绍的魔法函数有(持续更新): __ init__()、__ str__()、__ new__()、__ unicode__()、 __ call__()、 __ len__()、 __repr__()、__ setattr__()、 __ getattr__()、 __ getattribute_ 阅读全文
posted @ 2021-06-18 16:05 stardsd 阅读(325) 评论(0) 推荐(0) 编辑
摘要: model.eval()和with torch.no_grad()的区别在PyTorch中进行validation时,会使用model.eval()切换到测试模式,在该模式下, 主要用于通知dropout层和batchnorm层在train和val模式间切换在train模式下,dropout网络层会 阅读全文
posted @ 2021-06-18 14:33 stardsd 阅读(589) 评论(0) 推荐(0) 编辑
摘要: Project description Easy progress reporting for Python Bars There are 7 progress bars to choose from: Bar ChargingBar FillingSquaresBar FillingCircles 阅读全文
posted @ 2021-06-18 10:44 stardsd 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 作者:忆臻 (哈工大SCIR实验室在读博士生)魏福煊 哈工大英才实验班本科生谢天宝 哈工大英才实验班本科生 一、前言 在我们要用pytorch构建自己的深度学习模型的时候,基本上都是下面这个流程步骤,写在这里让一些新手童鞋学习的时候有一个大局感觉,无论是从自己写,还是阅读他人代码,按照这个步骤思想( 阅读全文
posted @ 2021-06-18 10:05 stardsd 阅读(240) 评论(0) 推荐(0) 编辑
摘要: NNI (Neural Network Intelligence) 是一个轻量但强大的工具包,帮助用户自动的进行 特征工程,神经网络架构搜索, 超参调优以及模型压缩。 NNI 管理自动机器学习 (AutoML) 的 Experiment, 调度运行 由调优算法生成的 Trial 任务来找到最好的神经 阅读全文
posted @ 2021-06-17 10:54 stardsd 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 描述 repr() 函数将对象转化为供解释器读取的形式。 语法 以下是 repr() 方法的语法: repr(object) 参数 object -- 对象。 返回值 返回一个对象的 string 格式。 实例 以下展示了使用 repr() 方法的实例: >>>s = 'RUNOOB' >>> re 阅读全文
posted @ 2021-06-15 11:09 stardsd 阅读(219) 评论(0) 推荐(0) 编辑
摘要: Pytorch:模型的保存与加载 torch.save()、torch.load()、torch.nn.Module.load_state_dict() Pytorch 保存和加载模型后缀:.pt 和.pth 1 torch.save() [source]保存一个序列化(serialized)的目标 阅读全文
posted @ 2021-06-15 10:50 stardsd 阅读(1460) 评论(0) 推荐(0) 编辑
摘要: 背景知识 在说 torch.backends.cudnn.benchmark 之前,我们首先简单介绍一下 cuDNN。cuDNN 是英伟达专门为深度神经网络所开发出来的 GPU 加速库,针对卷积、池化等等常见操作做了非常多的底层优化,比一般的 GPU 程序要快很多。大多数主流深度学习框架都支持 cu 阅读全文
posted @ 2021-06-03 17:10 stardsd 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 如何实现高速卷积?深度学习库使用了这些「黑魔法」 使用深度学习库可以大幅加速CNN模型运行,那么这些库中的哪些具体的做法实现了这种高速度和高性能呢?佐治亚理工学院计算机科学硕士研究生Manas Sahni在自己的电脑上试验了多种方法的策略,深入剖析高速卷积的实现过程。 我的笔记本电脑CPU还可以,在 阅读全文
posted @ 2021-06-03 16:43 stardsd 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 戴思达 YOLOv1 使用来自整张图像的特征来预测每个bounding box 将整张图分成S*S的网格,如果一个物体的中心落在某个网格中,就用该网格检测这个物体。 每个网格预测B个bounding box,以及对应的置信度。 置信度的含义: 模型确定这个box包含有物体的程度 模型认为box属于预 阅读全文
posted @ 2021-05-12 15:35 stardsd 阅读(2001) 评论(0) 推荐(0) 编辑
摘要: 一 介绍 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 阅读(93) 评论(0) 推荐(0) 编辑
摘要: YOLO9000 VOC数据集可以检测20种对象,但实际上对象的种类非常多,只是缺少相应的用于对象检测的训练样本。YOLO2尝试利用ImageNet非常大量的分类样本,联合COCO的对象检测数据集一起训练,使得YOLO2即使没有学过很多对象的检测样本,也能检测出这些对象。 基本的思路是,如果是检测样 阅读全文
posted @ 2021-04-26 16:52 stardsd 阅读(228) 评论(0) 推荐(0) 编辑
摘要: YOLO的特点:使用来自整张图像的特征来预测每个bounding box 首先,将整张图分成S*S的网格,如果一个物体的中心落在某个网格中,就用该网格检测这个物体。 每个网格预测B个bounding box,以及对应的置信度。 置信度的含义: 模型确定这个box包含有物体的程度 模型认为box属于预 阅读全文
posted @ 2021-04-23 16:53 stardsd 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 前言 目标检测(Intance Detection) 和图像分割(Image Segmantation) 算是深度学习中两个个比较热门的项目了,单级式检测(YOLO、SSD)和双级式检测(Fast R-Cnn)代表了如今大多数的目标检测方法,而FCN、U-net、Deeplab则引领了图像分割的潮流 阅读全文
posted @ 2021-04-21 10:57 stardsd 阅读(1384) 评论(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 阅读(1268) 评论(0) 推荐(0) 编辑
摘要: 卷积神经网络为什么具有平移不变性? 在我们读计算机视觉的相关论文时,经常会看到平移不变性这个词,本文将介绍卷积神经网络中的平移不变性是什么,以及为什么具有平移不变性。 什么是平移不变性 不变性 不变性意味着即使目标的外观发生了某种变化,但是你依然可以把它识别出来。这对图像分类来说是一种很好的特性,因 阅读全文
posted @ 2021-04-20 16:39 stardsd 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 简介 f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,该方法源于PEP 498 – Literal String Interpolation,主要目的是使格式化字符串的操作更加简便。f-string在形 阅读全文
posted @ 2021-04-20 16:24 stardsd 阅读(593) 评论(0) 推荐(0) 编辑
摘要: 1.nohup 用途:不挂断地运行命令。 语法:nohup Command [ Arg … ] [ & ] 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。 如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.o 阅读全文
posted @ 2021-04-20 16:19 stardsd 阅读(925) 评论(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 阅读(755) 评论(0) 推荐(0) 编辑
摘要: 检测算法实际同时作检测(坐标回归)和判别(分类),并且从直觉上讲,后者依赖于前者。而YOLO v3是个多任务,同时完成这2项任务。这与我以前常见的任务不一样,是个很好的学习案例。而在学习YOLOv3之前以及过程中,先后产生了许许多多的疑问。例如: 多个cell,多个anchor,在训练时哪个与gro 阅读全文
posted @ 2021-04-15 15:33 stardsd 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 前言yolov5提供了一种超参数优化的方法–Hyperparameter Evolution,即超参数进化。超参数进化是一种利用 遗传算法(GA) 进行超参数优化的方法,我们可以通过该方法选择更加合适自己的超参数。 提供的默认参数也是通过在COCO数据集上使用超参数进化得来的。由于超参数进化会耗费大 阅读全文
posted @ 2021-04-15 15:08 stardsd 阅读(749) 评论(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 阅读(288) 评论(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 阅读(91) 评论(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 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 如何设置PyTorch的动态学习率 本文主要涉及内容:Optimizer、_LRScheduler等源码分析。本文依旧基于PyTorch 1.1.0。 Optimizer PyTorch提供了torch.optim.lr_scheduler来帮助用户改变学习率,下边将从Optimizer入手,看一下 阅读全文
posted @ 2021-04-13 15:10 stardsd 阅读(1521) 评论(0) 推荐(0) 编辑
摘要: 首先借用有心人士的一张相当直观清晰的图来划分各种协议:开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别 以下是上述协议的简单介绍:BSD开源协议BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作 阅读全文
posted @ 2021-04-13 15:07 stardsd 阅读(99) 评论(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 阅读(456) 评论(0) 推荐(0) 编辑
摘要: dataloader本质上是一个可迭代对象,使用iter()访问,不能使用next()访问; 使用iter(dataloader)返回的是一个迭代器,然后可以使用next访问; 也可以使用for inputs,labels in enumerate(dataloader)形式访问,但是enumera 阅读全文
posted @ 2021-04-12 17:11 stardsd 阅读(1108) 评论(0) 推荐(0) 编辑
摘要: 总结: 可迭代对象:list、dict都是可迭代对象,但不是迭代器 实现了next方法,则称迭代器 进一步的,如果惰性生成,就成为生成器,生成器分为生成器表达式和生成器函数(yield) 生成器 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含1 阅读全文
posted @ 2021-04-12 16:26 stardsd 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 【炼丹技巧】 在深度学习中,经常会使用EMA(指数移动平均)这个方法对模型的参数做平均,以求提高测试指标并增加模型鲁棒。 今天瓦砾准备介绍一下EMA以及它的Pytorch实现代码。 EMA的定义 指数移动平均(Exponential Moving Average)也叫权重移动平均(Weighted 阅读全文
posted @ 2021-04-12 09:23 stardsd 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 前言 基本的神经网络的知识(一般化模型、前向计算、反向传播及其本质、激活函数等)小夕已经介绍完毕,本文先讲一下深度前馈网络的BP过程,再基于此来重点讲解在前馈网络中用来初始化model参数的Xavier方法的原理。 前向 前向过程很简单,每一层与下一层的连接边(即参数)构成了一个矩阵(即线性映射), 阅读全文
posted @ 2021-04-08 10:02 stardsd 阅读(91) 评论(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 阅读(97) 评论(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 阅读(530) 评论(0) 推荐(0) 编辑