![](https://img-blog.csdnimg.cn/73c95173e84540fb847c849bf7102f09.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
开发工具
文章平均质量分 70
从事算法训练、部署中用的工具的介绍
CodingInCV
计算机视觉硕士,专注视觉方面的算法和工程化
展开
-
onnx模型修改:去掉Dropout层
为导出的onnx中出现了Dropout层,一般的推理框架是不支持推理的时候用dropout的。原创 2024-06-25 18:44:09 · 370 阅读 · 0 评论 -
tx2开发板升级JetPack至最新
tx2整个升级过程还是比较容易的,只要别用虚拟机,满足基础条件。如果出错了,则进入恢复模式,重复这些步骤。官方完整文档:https://docs.nvidia.com/sdk-manager/introduction/index.html。原创 2024-01-19 23:12:00 · 611 阅读 · 0 评论 -
如何将github copilot当gpt4用
通过大神的项目,如果我们买了copilot,就能免费使用gpt4了,虽然并不是最新的版本,不过也显然比gpt-3.5要强了,赶紧用起来吧···说不准哪天微软把这条路给堵上了。原创 2024-01-16 21:11:24 · 3056 阅读 · 1 评论 -
新版Edge(120) 侧边栏copilot消失解决办法
edge浏览器自动更新了,更新后侧边栏的copilot(以前的New Bing)图标没了···查了网上的各种方法,说的比较多的是安装Edge Dev, 改地址等等,都比较麻烦,再装一个Edge也是不爽。终于在B站的评论里看到一个贼方便的方法,不需要装Dev。只需要先将语言设置为英文,重启浏览器,然后再改回来即可。原创 2023-12-12 17:21:54 · 8838 阅读 · 8 评论 -
onnx模型修改:将均值和方差放到模型中
训练模型时,一般都会对原始数据进行归一化再送入网络,即减均值和除方差。在部署时,我们也要进行同样的操作。有些推理框架会提供对应的接口,我们只需要设置均值和方差即可,如MNN.也有一些框架不提供这样的功能,如Tensorrt,这时,我们就需要自己去逐像素进行这个操作,不仅繁琐,还可能比较耗时。还有一种方式是将这个操作放到模型中,一个方法是在我们的原始pytorch模型中增加一个固定参数的Batchnorm层,另一种方式就是本文要讲的在导出的onnx模型中插入Sub和Div节点来完成。原创 2023-08-30 16:35:09 · 574 阅读 · 0 评论 -
VSCode如何为远程安装预设(固定)扩展
在使用VSCode进行远程开发时(),特别是远程的机器经常变化时(如机器来源于动态分配),每次连接新的远程时,都不得不手动安装一些开发需要的插件,尽管可以将需要的插件添加到workspace中,然后一键安装,不过总归还是不方便。那么有没有方法能够为我们所有的SSH远程都安装固定的一些插件呢,这样碰到新的远程,不需要再手动装一遍。原创 2023-08-22 12:03:54 · 543 阅读 · 0 评论 -
Pytorch量化之Post Train Static Quantization(训练后静态量化)
本文介绍了fx graph模式下的Pytorch的PTSQ方法,并实测了一个模型,效果还比较不错。原创 2023-08-09 23:19:38 · 2388 阅读 · 10 评论 -
VSCode如何在行内显示变量值
在调试时,我们希望能够直接在代码行显示变量的值,而不是总是去侧边栏查看,如下这种,y=12直接显示在代码行。那么VSCode中如何做呢。原创 2023-08-07 22:14:13 · 2988 阅读 · 2 评论 -
一些不错的VSCode设置和插件
我们做的各项设置,不希望再到其他机器的时候还得再重新配置一次。VSCode中我们可以登陆微软账号或者GitHub账号,登陆后我们可以开启同步设置。开启设置同步,根据提示登陆即可。原创 2023-08-07 22:05:02 · 485 阅读 · 0 评论 -
yolov8在rknn(rv1109/1126)模型转换、量化移植过程
yolov8是比较新的目标检测模型,根据论文和开源项目的报告,相对使用比较广泛的yolov5提升还比较明显。YOLOv8 深度详解!一文看懂,快速上手 - 知乎 (zhihu.com)通过对导出的模型进行一定的修改,1109上可以实现yolov8的运行并得到检测框,不过最终的运行速度和精度还有待验证。后处理的方式目前也是完全按照pytorch中的实现,过多的concat和split,可能对于C++并不太友好,后续尝试用更好的实现方式。Todo: 量化精度的测试以及C++部署。原创 2023-08-02 18:00:16 · 6241 阅读 · 26 评论 -
rv1109/1126 rknn 模型部署过程
rv1109/1126是瑞芯微出的嵌入式AI芯片,带有npu, 可以用于嵌入式人工智能应用。算法工程师训练出的算法要部署到芯片上,需要经过模型转换和量化,下面记录一下整个过程。原创 2023-08-01 22:37:50 · 2923 阅读 · 1 评论 -
交叉编译环境(arm-himix200-linux-gcc)碰到的问题
今天在新的一台服务器上交叉编译海思的,在配了海思的交叉编译环境后,编译却碰到了问题,总结一下:1. "No such file or directory"的问题这些交叉编译器是32位的, 而操作系统是64位的,安装lib32ncurses5库sudo apt install lib32ncurses52. libstdc++.so.6找不到:libstdc++.so.6: cannot open shared object file: No such file or directorysudo原创 2021-09-27 17:38:18 · 882 阅读 · 0 评论 -
深度学习推理框架概览
信息汇总使用体验1. MNN VS NCNN2.TNN3.Paddle-Lite4.OpenVino5.TensorRT社区支持发展趋势其他工作中涉及到在各种各样的硬件上做神经网络的推理,对使用到的一些框架做一个梳理汇总。信息汇总框架项目地址平台支持所属公司特点NCNNhttps://github.com/Tencent/ncnn腾讯开放时间比较早,资源较多TNNhttps://github.com/Tencent/TNN腾讯与其他框架相比,支持跨模型的内存复用,对于内存比较吃紧的情况有用MNNhttps:原创 2022-09-07 09:15:09 · 829 阅读 · 0 评论 -
免费可用的VSCode/Pycharm GPT插件
发现一款免费可用的VSCode/Pycharm GPT插件,官方宣称是他们自动根据prompt切换3和4,我尝试了下,有一个只有4能答对的问题,它有时对有时错···与其说是一个软件,更准确的说是一个插件,可以在VSCode以及Jetbrains的软件如Pycharm中使用,可以对话,可以解释代码, 话不多说开始。原创 2023-07-12 22:34:46 · 2261 阅读 · 0 评论 -
python开发之远程开发工具选择
除了本地开发外,还有一种常见的开发方式就是远程开发,一般情况是一台Windows或mac笔记本作为日常使用的电脑,另有一台linux服务器作为开发服务器。开发服务器的性能往往较强,这样远程开发的方式一方面可以让我们在习惯的系统下工作,又能利用强大的服务器,而且linux下开发python往往比win下要方便得多。原创 2023-07-11 15:10:15 · 384 阅读 · 0 评论 -
pytorch模型结构可视化,可显示每层的尺寸
最近在学习一些检测方面的网络,使用的是pytorch。模型结构可视化是学习网络的有用的部分,pytorch没有原生支持这个功能,需要找一些其他方式,下面总结几种方法(推荐用4)。1. torch .pt -> netronnetron是一个专门可视化模型的工具,支持很多格式,很自然的就是用它直接显示torch保存的模型。但是实际上...显示成了上图,基本上没什么用。2. 网上说的比较多的几种方式a. tensorboardx 画出来的比较丑b. tenso...原创 2021-01-10 11:36:34 · 1986 阅读 · 0 评论 -
CLion远程调试嵌入式开发板程序
CLion远程调试嵌入式开发板程序文章目录CLion远程调试嵌入式开发板程序1. 目的2. 前提条件3. CLion设置3.1 设置一个Deployment3.2 上传需要的目录到目标板子3.3 设置一个Remote GDB Server总结1. 目的有时候我们的程序在板端运行崩溃,或不符合预期或者单纯想要单步调试去查看一些变量。很多时候我们不得不加很多打印语句或用gdb 调试。不够直观和方便。clion可以说是现在linux平台最好的C++ IDE了,clion还提供了remote gdb serv原创 2021-09-25 17:52:43 · 1652 阅读 · 6 评论 -
免费好用可与VSCode联动的代码片段管理器massCode
免费好用的代码片段管理器,赶紧用起来吧。喜欢的话,点个关注吧。原创 2023-07-06 15:49:49 · 459 阅读 · 1 评论 -
可视化容器管理工具-portainer.io使用
续docker日常使用指南当我们开始使用docker后,我们的机器上镜像和容器会越来越多,或者有时候我们有多台开发机的时候,单纯使用命令行去管理镜像和容器就变得麻烦了,这时,我们就可以选择一些可视化的容器管理工具来保护我们为数不多的头发了。portainer.io就是这方面的一个不错的选择,它有社区版和商业版,质量相对有保证,对于我们个人,使用社区版足矣。portainer.io安装很容易,可以直接用docker启动:使用浏览器输入https://ip:9443即可打开管理页面,首次打开输入用户和密码。原创 2023-07-04 09:18:25 · 547 阅读 · 0 评论 -
将onnx的静态batch改为动态batch及修改输入输出层的名称
在模型的部署中,为了高效利用硬件算力,常常会需要将多个输入组成一个batch同时输入网络进行推理,这个batch的大小根据系统的负载或者摄像头的路数时刻在变化,因此网络的输入batch是在动态变化的。另一方面,算法工程师在导模型的时候,如果没有指定输入层输出层的名称,导出的模型的层名有时候可读性比较差,比如输出是batchnorm_274这类名称,为了方便维护,也有需要对onnx的输入输出层名称进行修改。通过将输入层和输出层的shape的第一维修改为非数字,就可以将onnx模型改为动态batch。原创 2023-07-01 11:24:26 · 1435 阅读 · 10 评论 -
docker新手日常使用指南,0基础入门
在对外提供应用程序时,常常碰到运行环境与开发环境不一致的情况,或虽然操作系统一样,但部署时可能碰到一些系统库版本不一样导致运行问题。或对外提供库时,没有客户需要的环境,需要花时间搭建虚拟机。这一些坑,大部分情况下都能通过docker这个工具帮我们方便的解决。因此学习docker是比较有价值的,同时,docker的使用也非常的简单,核心的命令比较少。本文对自己使用中用到的一些方式进行总结,一些理解可能不完全正确,更详细的可以去看官方文档。原创 2023-06-29 21:59:51 · 273 阅读 · 1 评论