- 博客(12)
- 收藏
- 关注
原创 PYTORCH疑惑系列--permute,view,shape
在深度学习中经常出现维度转换操作,但维度转换很可能会打乱数据。这次我们设置一些实验去了解原理。 bs = 8 x = torch.tensor([ [ [1, 2],[3, 4],[5, 6],[7, 8] ], [ [9, 10],[11, 12],[13, 14],[15, 16] ], [ [17, 18],[19, 20],[21, 22],[23, 24] ], [ [25,
2021-11-13 16:12:55
1399
原创 Fiftyone 可视化
文章结构 导入数据集 打开可视化界面显示 加载自己的预测 数据集评估 结果分析 导入数据集 fiftyone支持许多官方数据集,如coco等。这些数据集的加载方式较为简单。可直接使用官方提供的加载方式: import fiftyone as fo import fiftyone.brain as fob import fiftyone.zoo as foz import numpy as np import cv2 import json from collections import defaultd
2021-11-12 17:57:10
6245
2
原创 Detection2安裝BUG記錄
error: identifier “AT_CHECK” is undefined 解決方法: 找到出現這個問題的第一行,我這裡是:/home/xx/桌面/detectron2/detectron2/detectron2/layers/csrc/deformable/deform_conv.h(135): error: identifier "AT_CHECK" is undefined。就是頭文件中缺少定義,我們使用編輯器去修改頭文件即可: nano /home/xx/桌面/detectron2/det
2021-10-31 11:10:10
368
原创 pytorch训练损失为NAN(NLLLoss)
在训练分类网络的时候经常使用NLLLoss作为损失函数。并且对于网络的输出有out=F.log_softmax(x)。由于刚开始训练不太稳定。很容易出现loss=nan。这是由于在计算log_softmax()时容易出现log0的情况: 解决方法: out=F.log_softmax(x+1e-10)给x添加一个很小的数。 ...
2021-10-29 16:55:11
1754
1
原创 Detectron2 交叉验证。直接计算mAP版本
Detectron2 交叉验证 目的:在训练的过程中使用验证集合的结果老判断是否出现了过拟合现象。这个教程是在验证集上面直接评定指标,而不是计算验证集合的损失。关于将验证集的损失作为交叉验证的对象可看这里。 实现原理 由于Detecton2将不属于模型运行的部分用Hook包装。所以我们可以注册Hook去实现交叉验证方法。关于Detectron2训练的一个简单梳理,可以看这里。 参数设置 我们在配置文件中加入以下的字段(也可以直接在代码里面写入数值,但这不方便修改)。 _C.CROSS_VAL = CN()
2021-10-18 17:41:15
809
1
原创 cvpods Debug方法
最近在看论文。某些论文用到了cvpods框架,但cvpods的教程链接失效了。提出问题也没有回答。这个情况下看别人的论文代码就很蛋疼。这个教程是为了能够在pycharm里面进行debug,非常的暴力。 找到目标github,下载。按照目标github的教程确认能够运行。 找到cvpods的train_net.py文件输入下面几行代码 import os import sys print(os.getcwd()) print(sys.path) 再次回到目标github的下载目录,运行。注意
2021-09-12 15:45:34
846
转载 Error: mkl-service + Intel(R) MKL: MKL_THREADING_LAYER=INTEL is incompatible with libgomp.so.1 libra
Error: mkl-service + Intel® MKL: MKL_THREADING_LAYER=INTEL is incompatible with libgomp.so.1 library. Try to import numpy first or set the threading layer accordingly. Set MKL_SERVICE_FORCE_INTEL to force it. 试一下这个: os.environ['MKL_THREADING_LAYER
2021-06-14 10:43:12
4129
3
原创 简单的复制粘贴数据增强
思想:利用下标值操作 首先抠出原图中的候选目标的mask 这里有几点需要注意: 我们是通过下标操作,所以我们不需要得到原图的像素值。 仅仅得到原图对应像素值的下标即可 得到下标的同时需要进行判断是否超出边界。 gt_box_i = batched_inputs[select_image]['instances'].gt_boxes.tensor[i] # 这是已经转换了的box,coco数据集可能原始的是x,y,w,h格式 ori_mask = torch.zeros_like(
2021-05-15 10:04:58
949
1
原创 Rethinking Classification and Localization for Object Detection
Rethinking Classification and Localization for Object Detection 提出问题 在目标检测开始以来。 目前所有的分类器都是将Classification划分为分类任务并且使用卷积对类别进行评分(刚开始是使用svm到后来的全连接,最后流行全卷积)。将定位任务(bbox)当作回归任务,使用全连接层给出(也流行使用卷积直接给出位置)。作者疑问全连接和卷积对于这2个任务的适配性,开展了研究。 实验1:分析卷积(conv)和全连接(fc)对任务的适配性 实
2021-03-20 21:08:15
683
原创 Adaptive Training Sample Selection
分析不同(anchor-based and anchor-free) 作者使用RetinaNet和FCOS作为对象,研究使用anchor和不使用anchor的一阶段目标检测器之间的差别, 作者认为,主要有以下3方面的不同: 每个网格中平铺的anchor的数量(Fcos相当于只平铺了一个anchor)。RetinaNet使用多尺度,不同比例的anchor平铺在一个网格上。 区分正负样本的方式。RetinaNet区分正负样本就比较暴力,直接利用IOU判断这个框是否是正样本.而Fcos相较于RetinaNet的
2021-03-16 20:49:08
355
原创 fcos: debug记录
fcos:demo代码debug记录 源代码来源: https://github.com/tianzhi0549/FCOS 使用默认配置开始debug fcos_demo.py 前面都是参数设置: 每个类别的阈值设置,对应coco数据集的80个类别 thresholds_for_classes #得到用来测试的 ...
2021-03-12 17:51:38
431
原创 pytorch Segmentation fault (core dumped)
pytorch Segmentation fault (core dumped) 今天训练的时候出现了这个错误,解决方法: 调小batch_size
2020-11-23 22:39:53
832
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅