经验记录
文章平均质量分 80
tang-shopping
做个有用的人!
展开
-
ubuntu22.04服务器 英伟达 tesla A40安装深度学习环境
从零开始搭建深度学习服务器原创 2022-12-09 16:49:01 · 991 阅读 · 0 评论 -
nanodet-plus阅读:(2)正负样本定义(SimOTA)
nanodet-plus 正负样本定义(simOTA)原创 2022-11-23 16:56:46 · 367 阅读 · 1 评论 -
随笔记录:关于SE模块插入位置的总结
SE模块的插入位置探讨原创 2022-08-05 09:56:57 · 6598 阅读 · 5 评论 -
nanodet阅读:(1)概述
nanodet概述原创 2022-06-18 16:05:48 · 1820 阅读 · 0 评论 -
nanodet阅读:(3)Loss计算及推理部分
nanodet的阅读笔记原创 2022-06-10 16:51:08 · 4933 阅读 · 3 评论 -
nanodet阅读:(2)正负样本定义(ATSS)
nanodet代码阅读注释原创 2022-06-03 12:16:55 · 663 阅读 · 0 评论 -
经验记录:利用传统机器视觉检测 IGBT 车间芯片的好坏
传统视觉 缺陷检测原创 2022-04-22 10:33:48 · 1175 阅读 · 0 评论 -
探索发现:自绘DETR结构图
一、 前言最近在看transformer相关的模型,其中vit还好,结构简单,decode与位置编码都没有。看到DETR才觉得比较“齐全”,该有的都有了。怕以后忘记,画个图,帮助记忆,顺便抛砖引玉,如有错误欢迎各位大佬指正。二、 结构图根据官方代码画的,最好是结合代码观看,再结合下面这张图看就更加好理解了。上图是每个encode、deconde模块内部的情况。...原创 2022-03-19 10:26:28 · 1278 阅读 · 1 评论 -
探索发现:记一次深度图像处理的经历
一、 前言2021年底,领导给了个tof模块,要求基于此开发一个演示程序,实现3D人脸识别的功能。当时听他说出3D人脸识别就有点头疼,第一是想自己之前没接触这样的项目;第二是在想3D人脸数据相比于2D人脸数据,恐怕没后者那么多。基于快速开发出产品以及自身能力的想法,向领导建议使用2D+技术路线,即采用rgb图做人脸识别,采用深度图做真假脸识别,领导同意了。rgb图用到的就是些网上开源、成熟的模型,如retinaface、mobileface,这部分不是今天的主题,也没什么好说的,网上博客大把。主要说说深原创 2022-03-09 14:22:51 · 4524 阅读 · 0 评论 -
探索发现:shufflenet 中 shuffle 操作板端部署的可行性
一、前言之前使用shufflenet-nanodet时,思考过它里面的shuffle op的部署,因为很多开发板不支持5 维 tensor,所以python中的shuffle方式,是没法继续使用的,所以就要用其他的思路来做。去年事情多,一直没有空把这个心得记录下来,现在有空了,特此记录,方便自己并抛砖引玉,如有错误,还请指出,谢谢!二、试验(一)思路shufflenet的代码来自nanodet,至于它是否与原版一致,我没去比较。上文说过的,python的shuffle方式没法用,乍一看可能觉得没法原创 2022-03-07 15:34:06 · 1792 阅读 · 4 评论 -
海思开发:Nanodet : onnx -> caffe -> nnie
一、前言应网友所托,帮忙转换 nanodet 模型(注:原版 nanodet 上采样是线性插值法,海思中不支持,换成反卷积了),花了一天多时间思考与尝试,终于搞定它,过程如下。二、主要过程仔细想了下,其实 nanodet 并没有什么生僻的 op,全部是很普通的、常见的那种,但是它们的组合方式以及数据的shape太令人难受了,下面我截图展示一下。1. split 不支持这里说一下,onnx 的 split 在 caffe 里面是 slice,slice 相关博客。相关代码如下:# onnx2ca原创 2021-03-02 20:45:29 · 3270 阅读 · 16 评论 -
菜鸟落泪:Failed to export an ONNX attribute ‘onnx::Gather‘ 报错
一、前言最近在转 mobilenet v3 (pytorch -> onnx)的时候,遇见报错:RuntimeError: Failed to export an ONNX attribute 'onnx::Gather', since it's not constant, please try to make things (e.g., kernel size) static if possible网上搜了一下,发现要么很麻烦,要么不适用,看报错内容,大致就是说,有个op的属性值不是常量。原创 2021-01-28 14:32:05 · 4627 阅读 · 7 评论 -
海思开发:海思上对 relu6、hswish、h-sigmoid 移植的探索
一、前言最近在搞 mobilenet v3,v3有两个非线性函数:hswish 和 h-sigmoid,二者都用到了relu6,之前都是把它们替换,因为海思没有现成的relu6。当时就在想,能否利用现有op,组合成想要的relu6出来了? 这个想法在脑子里徘徊几天了,今天试着给它变现,结果如下。原创 2021-01-23 15:58:05 · 5291 阅读 · 20 评论 -
海思开发:relu、relu6 在量化前后的精度变化及原因思考
一、前言以前部署 HopeNet 的时候,发现了relu6与relu的差异。具体就是 relu 模型量化后精度下降 14%,relu6 模型量化后精度下降 2.5%。这两个模型除了 backbone、激活函数不一样,其他都一样。所以 relu6 可以减少量化精度损失?因为上面两个模型backbone不一样,所以考虑再进行一个条件更严格的对比实验。二、实验特意选了 MobileNet v2,它的激活函数刚好是 relu6,数据集类别数是 2,数据集大小为正负类各 500个。我们训练两款模型 Mobile原创 2021-01-22 11:14:52 · 7398 阅读 · 0 评论 -
探索发现:DRM + OpenGLES + GBM + EGL简单介绍
一、认识它们见:4个库总介绍: https://www.cnblogs.com/lenomirei/p/11379535.html ;OpenGLES + EGL: https://blog.csdn.net/qiuyun0214/article/details/54614997 ;GBM : https://www.sevirt.com/index.php?controller=po...原创 2020-12-30 14:16:34 · 5642 阅读 · 0 评论 -
探索发现:tensorflow转onnx时,输入无符号shape的情况解决。
一、前言如标题,有几次朋友遇到这种情况,所以我想看看能不能直接更改 onnx 模型的 input shape 来解决这种问题。这种情况目前全发生在 tensorflow -> onnx 过程中,pytorch 由于有 onnx 的导出官方 api, 所以没有此烦心事。二、代码先看看未修改前输入的无符号shape:很明显,本该是1的地方出现了几个乱七八糟的符号。但是怎么做呢?参考这个,在最下面处有解决方法。from onnx.tools import update_model_dimsi原创 2020-12-28 20:44:55 · 1427 阅读 · 0 评论 -
菜鸟落泪:win10 离线安装 pytorch 及其所需依赖包
如题,亲测成功,所需依赖包为:certifi 2020.11.8cffi 1.14.4dataclasses 0.8future 0.18.0icc-rt 2019.0intel-openmp 2021.1.1mkl 2019.0mkl-fft 1.0.6mkl-ran原创 2020-12-21 20:34:25 · 1974 阅读 · 2 评论 -
海思开发:yolo v5的 focus层 移植到海思上的方法
一、前言经网友提醒,yolo v2的 passthrough 层与 v5 的 focus 层很像,因为海思是支持 passthrough 层的,鉴于此,花了点时间了解了一下,提出一些浅见,抛砖引玉。二、区别上文我说的是,二者很像,说明它们还是有区别的,现在说说区别。1. passthrough 层出于严谨,结合海思文档图片与 passthrough 源码来一起理解,先看看 passthrough 源码:// 它的源码是 c++ 的,不是 python 格式int reorg_cpu(THFlo原创 2020-12-15 11:39:15 · 7580 阅读 · 40 评论 -
海思开发:mobilefacenet 模型: pytorch -> onnx -> caffe -> nnie
一、前言最近有空,把之前的项目梳理记录一下,惠已惠人。二、详情人脸模型是在 pytorch 下训练的,工程文件用的是这个:MobileFaceNet_Tutorial_Pytorch训练完成之后,先转为onnx模型并做简化,代码如下:def export_onnx(): import onnx parser = argparse.ArgumentParser() #parser.add_argument('--weights', type=str, default=r'F:原创 2020-12-03 12:00:56 · 5129 阅读 · 11 评论 -
海思开发:python下转换图片为bgr_planner格式
前言模型转换后,性能多多少少都有点损失,为了评估肯定需要在海思上跑个数据集,但是海思的图片输入格式是bgr_planner格式,所以需要对图片做个格式转换。对于大神来说,直接全用c/c++完成,但本菜逼只能选择这种two-stage方式了。代码废话不多说,代码都是经过试验,确定能跑的通的。为了放心,特意还做了个试验,同一张图片用python转为bgr_planner格式,和用c++转为bgr_planner格式,再先后喂入人脸识别模型,最后的输出特征值差了0.05左右。import cv2impo原创 2020-10-16 15:35:46 · 1229 阅读 · 0 评论 -
海思开发:基于 SSD行人检测模型 3516D V300 部署
一、前言最近项目因一些原因停止,空下来的我给自己找点事做,所以就把眼光瞄上了行人检测,该模型是我一个目标检测群群主发的,他在知乎和git都有账号,不过我忘了。。。不说其他了,开始吧。二、模型的选择与转换模型是一切的基础,之所以选定这个模型也是因为它的op海思都支持,没什么很新的op,使得转换模型成为可能。模型平面图就不看了,太大了,我等下提供gitee仓库的地址,有需要自己下去看吧。1.模型转换原模型是pytorch版本,所以先要转化成onnx,再转化成caffe,最后转化成nnie-wk格式,在原创 2020-07-03 11:39:44 · 3201 阅读 · 5 评论 -
海思开发:海思api保存 yvu420sp 为 bmp图片文件
一、前言最近在植入模型时,遇到了模型精度不准的问题,为了定位精度下降的原因,采取一个个节点排除的方法。首先就是确保输入图片无误。所以就有了这篇文章,记录一下经验,欢迎来往各位不吝指教。二、代码屁话不多说,直接上代码,一些基础的知识,比如海思api的介绍,bmp的介绍等等,自己去学习吧,此文不做展开了。参考博文,可以先看看他们的:海思 api 例子:https://blog.csdn.net/mhsszm/article/details/104946840 ;bmp 代码 :https://blo原创 2020-05-11 19:42:17 · 2255 阅读 · 4 评论 -
VMware 报错提示:客户机操作系统已禁用 CPU,请关闭或重置虚拟机。
VMware 报错提示:客户机操作系统已禁用 CPU,请关闭或重置虚拟机。报错如标题,虚拟机用的好好的突然出现这个毛病,试了下其他的虚拟机账户,发现都没问题,网上搜也没个靠谱的结果,最后自己瞎搞搞定了。下面进入正题:虚拟机表现为不会正常开机,会出现下面一个类似的菜单页面:第一个页面大致如下,忘记拍照,网上找的内容,仅做参考:Ubuntu*Advanced options for Ubu...原创 2020-04-14 20:56:53 · 10499 阅读 · 0 评论 -
np.multiply.reduce 函数的用法
看 YOLO V3 看到这个函数,去搜又没人写过,英文文档看起来头晕脑胀,自己就随便实验了一下,也不难。先定义 a :import numpy as npa = np.arange(1,9).reshape(2,2,2)print(a)[[[1 2] [3 4]] [[5 6] [7 8]]]然后挨个来实验:np.multiply.reduce(a,axis = 0)...原创 2019-07-27 18:59:47 · 2516 阅读 · 1 评论 -
菜鸟落泪:debian 9 安装 python 库记录
(1) numpy scipy 库1.背景嵌入式开发最后需要给开发板配置python 及其各种库,且开发板里有系统自带的 python 2.7 版本,而开发手册建议 python 版本 3.5+,为了避免后续屁事不断的麻烦,决定采用虚拟环境。爬坑过程如下:2.过程2.1 安装 虚拟环境 及 python 3+,命令如下:sudo apt install virtualenvsudo a...原创 2019-07-25 15:51:18 · 2373 阅读 · 3 评论 -
菜鸟落泪:python 3.6环境 face_recognition 库 与 dlib 库的安装问题。
一、背景环境:win7 + amd64 + anaconda 1.7.2要装 face_recognition,要先装dlib。说起这个 dlib ,我真是一肚子的火,搞了我好久,一度非常绝望,后来还是坚持下来,终于攻克了它!二、走过的坑先说说 dlib 安装,这个库的安装网上教程太多,又杂又复杂,特别是还要装 VS2017 之类的。以前装其他库的时候,说是要装 VS2017 ,不过到后来...原创 2019-08-02 15:28:06 · 811 阅读 · 5 评论