<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[epic_Lin的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/epic_Lin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; epic_Lin]]></copyright><item><title><![CDATA[【C++】用Ceres从三维点中拟合三维空间中的圆]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/131596555</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/131596555</guid><author>epic_Lin</author><pubDate>Fri, 07 Jul 2023 17:20:42 +0800</pubDate><description><![CDATA[Cpp调用Ceres，从三维空间中N个点拟合出一个圆，包括圆心、半径、法向量。]]></description><category></category></item><item><title><![CDATA[OpenVINO模型部署（权重转化）]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/129491805</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/129491805</guid><author>epic_Lin</author><pubDate>Mon, 13 Mar 2023 13:16:52 +0800</pubDate><description><![CDATA[其中mean、scale为归一化后计算的均值方差的结果。3. 关于图像通道的问题,注意。这样在部署后图像就不需要再进行。]]></description><category></category></item><item><title><![CDATA[TensorRT环境配置（2023完整版）]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/129491625</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/129491625</guid><author>epic_Lin</author><pubDate>Mon, 13 Mar 2023 13:08:06 +0800</pubDate><description><![CDATA[配置TensorRT环境需要配置CUDA、CUDNN、英伟达显卡驱动nvidia-smi类似这样，如图我的显卡驱动版本为515.65.01，CUDA版本为11.7。]]></description><category></category></item><item><title><![CDATA[扩充交换空间]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/122369604</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/122369604</guid><author>epic_Lin</author><pubDate>Tue, 21 Feb 2023 21:34:49 +0800</pubDate><description><![CDATA[1、创建普通文件


sudo dd if=/dev/zero of=/swapfile bs=1M count=16384


dd: 打开'/swapfile' 失败: 文本文件忙

换个名字


sudo dd if=/dev/zero of=/swapfile_1 bs=1M count=16384

记录了16384+0 的读入
记录了16384+0 的写出
17179869184字节（17 GB，16 GiB）已复制，25.4417 s，675 MB/s


设置为swap文件


sudo m]]></description><category></category></item><item><title><![CDATA[Learning Efficient Convolutional Networks through Network Slimming【译】]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/121773758</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/121773758</guid><author>epic_Lin</author><pubDate>Sun, 15 Jan 2023 11:55:53 +0800</pubDate><description><![CDATA[Learning Efficient Convolutional Networks through Network Slimming【CVPR2017】
摘要
在本文中，我们提出了一种新的cnn学习方案（learning scheme），来同时 1)减少模型大小；2)减少运行时内存占用；3)减少计算操作的次数并且不降低准确性。这是通过以一种简单而有效的方式在网络中增强通道级的稀疏性来实现的。与现有的许多方法不同，该方法直接适用于现代CNN架构，它为训练过程引入了最小的开销，并且生成的模型不需要特殊的软件/硬]]></description><category></category></item><item><title><![CDATA[Learning both weights and connections for efficient neural networks]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/120754971</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/120754971</guid><author>epic_Lin</author><pubDate>Sun, 15 Jan 2023 11:51:59 +0800</pubDate><description><![CDATA[学习权重和链接以提高神经网络的效率

【论文】模型剪枝（Network Pruning）论文详细翻译_u013044310的博客-优快云博客

摘要

神经网络需要大量计算, 又占用大量内存, 因此难以在嵌入式系统上部署。另外, 传统网络在训练开始前就确定了体系结构;因此, 训练无法改善体系结构。为了解决这些限制，我们描述了一种减少神经网络所需的存储和计算的方法，而不影响它们的准确性，只学习重要的连接。我们的方法使用三个步骤来修建冗余连接。首先，我们训练网络来了解哪些连接时重要的。接下来，我们修建不重要的]]></description><category></category></item><item><title><![CDATA[Entropy-based Pruning]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/120809514</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/120809514</guid><author>epic_Lin</author><pubDate>Sun, 15 Jan 2023 11:48:15 +0800</pubDate><description><![CDATA[An Entropy-based Pruning Method for CNN Compression

摘要

首先通过提出基于熵（entropy-based）的方法来评估每个滤波器的重要性。然后剪枝，最后采用微调方法（fine-tuning）恢复了剪枝过程中损坏的泛化能力（generalization ability）。我们的方法可以减少中间激活（intermediate activations）的大小，中间激活在模型训练阶段占用大部分内存，但在以前的压缩方法中不太受关注。

1、引言

CNN模型的资]]></description><category></category></item><item><title><![CDATA[yolov5剪枝复现]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/122239957</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/122239957</guid><author>epic_Lin</author><pubDate>Sat, 14 Jan 2023 11:27:57 +0800</pubDate><description><![CDATA[1、github

本项目基于tanluren/yolov3-channel-and-layer-pruning实现，将项目扩展到yolov5上。

项目的基本流程是，使用ultralytics/yolov5训练自己的数据集，在模型性能达到要求但速度未达到要求时，对模型进行剪枝。首先是稀疏化训练，稀疏化训练很重要，如果模型稀疏度不够，剪枝比例过大会导致剪枝后的模型map接近0。剪枝完成后对模型进行微调回复精度。

yolov5_prune：GitHub - ZJU-lishuang/yolov5_prune]]></description><category></category></item><item><title><![CDATA[yolov5剪枝蒸馏加速]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/123402594</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/123402594</guid><author>epic_Lin</author><pubDate>Sat, 14 Jan 2023 11:26:56 +0800</pubDate><description><![CDATA[下载项目
github剪枝项目：yolov5_prune
配套的作者修改的yolov5项目：yolov5-v6
运行代码
稀疏化训练和相关的数据集转化方法参考我之前的博客
踩坑
报错1：
找不到标签，这里已经把图片的路径改成了系统绝对路径写到了hand_data/train.txt和hand_data/valid.txt中，解决了图片找不到的问题，出现了标签找不到的问题
 No labels in hand_data/train.cache

后面发现是路径有问题，哭死
获取路径的小代码：
#导入对路径操作]]></description><category></category></item><item><title><![CDATA[BN层相关理论]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/121779460</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/121779460</guid><author>epic_Lin</author><pubDate>Thu, 05 Jan 2023 18:38:01 +0800</pubDate><description><![CDATA[BN----Batch Normalization(批量归一化)：解决在训练过程中，中间层数据分布发生改变的问题，以防止梯度消失或梯度爆炸、加快训练速度（什么叫中间层数据分布发生改变？？）

1、为什么输入数据需要归一化

归一化有什么好处呢？原因在于神经网络学习过程本质就是为了学习数据分布，一旦训练数据与测试数据的分布不同，那么网络的泛化能力也大大降低；另一方面，一旦每批训练数据的分布各不相同，那么网络就要在每次迭代都去学习适应不同的分布，这样将会大大降低网络的训练速度，这也正是为什么我们需要对数据都做一]]></description><category></category></item><item><title><![CDATA[openvino环境配置（openvino2022之前的版本）]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/123266513</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/123266513</guid><author>epic_Lin</author><pubDate>Sat, 05 Mar 2022 20:41:46 +0800</pubDate><description><![CDATA[下载安装包
到下面的网址去下载或者用自己之前下载的安装包：
intel官网openvino下载地址
安装openvino
cd到压缩包的地址，解压：
tar -xvzf l_openvino_toolkit_p_&lt;version&gt;.tgz

打开解压文件运行图形化安装界面：
cd l_openvino_toolkit_p_&lt;version&gt;
GUI Installation Wizard: sudo ./install_GUI.sh

然后疯狂点下一步运行完这个安装程序，如果按照默认]]></description><category></category></item><item><title><![CDATA[slam环境配置]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/122755869</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/122755869</guid><author>epic_Lin</author><pubDate>Thu, 03 Feb 2022 11:41:04 +0800</pubDate><description><![CDATA[1、Sophus


git clone https://github.com/strasdat/Sophus.git



cd Sophus


https://blog.youkuaiyun.com/qq_36955294/article/details/109498531?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164354731116780271941165%2522%252C%2522scm%2522%253A%252220140713]]></description><category></category></item><item><title><![CDATA[labelme和coco数据集]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/122268636</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/122268636</guid><author>epic_Lin</author><pubDate>Wed, 02 Feb 2022 17:23:30 +0800</pubDate><description><![CDATA[1、labelme（Json to Dataset）

labelme标注完了之后生成.json文件，我们要将其转化成数据集使用，这里涉及到labelme源码的更改。

这里作者给出了json_to_dataset.py方法，但是不知道是不是转化成coco格式的，还是看看json转coco的文章吧，下面是原文章：

Labelme安装及使用教程_志愿无倦的博客-优快云博客_labelme安装

靠谱的博客：

https://blog.youkuaiyun.com/qq_39435411/article/detail]]></description><category></category></item><item><title><![CDATA[视觉SLAM十四讲]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/122681580</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/122681580</guid><author>epic_Lin</author><pubDate>Wed, 26 Jan 2022 18:41:53 +0800</pubDate><description><![CDATA[1、激光SLAM

激光SLAM相对成熟，比如2005年出版的《概率机器人》中就介绍了很多关于激光SLAM的知识，在ROS里也能找到许多关于激光定位、激光建图的现成软件。

2、单目SLAM

在相机移动时，近处的物体移动快，远处的物体移动慢，极远处的物体看上去是不动的。于是当相机移动时，这些物体在图像上的运动就形成了视差。通过视差，我们就能定量的判断哪些物体离得远，哪些物体离得近。

然而，即使我们知道了物体远近，它们仍然只是一个相对的值。单目SLAM估计的轨迹和地图将与真实的轨迹和地图相差一个因子，也就]]></description><category></category></item><item><title><![CDATA[数学建模理论]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/122594351</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/122594351</guid><author>epic_Lin</author><pubDate>Sat, 22 Jan 2022 00:27:26 +0800</pubDate><description><![CDATA[一、插值与拟合

可以用范德蒙行列式和克莱姆法则证明：在x0，x1，..., xn处取值y0,y1,...,yn的多项式存在且唯一，即插值问题的解唯一存在

1、拉格朗日插值法：

指的是在节点上给出节点基函数，然后做基函数的线性组合，组合系数为节点函数值的一种插值多项式





2、高次插值的Runge现象

在研究插值问题的初期，所有人都想当然的认为插值多项式的次数越高，插值精度越高。Runge发现上述结论仅仅在插值多项式的次数不超过七时成立，超过7时，插值多项式会出现严重的震荡现象，称为Runge现]]></description><category></category></item><item><title><![CDATA[数学建模代码实现]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/122456296</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/122456296</guid><author>epic_Lin</author><pubDate>Sat, 15 Jan 2022 12:29:53 +0800</pubDate><description><![CDATA[1、线性规划












]]></description><category></category></item><item><title><![CDATA[yolov5的TensorRT部署【tensorrt+cudnn@主机】]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/122381361</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/122381361</guid><author>epic_Lin</author><pubDate>Sun, 09 Jan 2022 10:31:39 +0800</pubDate><description><![CDATA[1、版本问题

（1）TensorRT的ONNX解释器是针对Pytorch版本编译的，如果版本不对应可能导致转模型时出现错误。

（2）主机环境：pytorch1.8.1+cuda11.1

2、Pytorch2ONNX

主机上exp305权重可用，尝试转ONNX，命令如下：


python export.py --weights runs/train/exp305/weights/best.pt --img 640 --include engine onnx 

成功导出best.onnx到runs/]]></description><category></category></item><item><title><![CDATA[【yolo关键点系列】正式开始改dataloader和损失]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/121583604</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/121583604</guid><author>epic_Lin</author><pubDate>Thu, 06 Jan 2022 21:49:48 +0800</pubDate><description><![CDATA[训练]]></description><category></category></item><item><title><![CDATA[Yolov5中detect.py和train.py模型输出结果不一样的问题]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/122350692</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/122350692</guid><author>epic_Lin</author><pubDate>Thu, 06 Jan 2022 21:48:31 +0800</pubDate><description><![CDATA[项目场景：

yolov5开发损失数据都成功修改，四个点收敛到中心点，除以w和h归一化。训练得到权重，调试得知点的位置有负数，符合预测情况，大概率是正确的。

问题描述：

detect.py里面出来的pred（1，？，93）里面点的部分是非负的，同样的从model出来，和train.py的结果不一样（），后来发现是模型函数不一样。

因为模型函数比较复杂，不方便进去查看，考虑更换和train.py一样的模型函数，再手动更改数据格式，或者进去原来的模型函数里面查看内容。

本来考虑换一种非负的收敛方式，后来]]></description><category></category></item><item><title><![CDATA[BN剪枝实践]]></title><link>https://blog.youkuaiyun.com/epic_Lin/article/details/121831139</link><guid>https://blog.youkuaiyun.com/epic_Lin/article/details/121831139</guid><author>epic_Lin</author><pubDate>Thu, 06 Jan 2022 18:27:15 +0800</pubDate><description><![CDATA[1.github代码实践

源代码是lua脚本语言，下载th之后运行

th main.lua -netType vgg -save vgg_cifar10/ -S 0.0001，报错：



试看看安装lua:

报错了，参考这篇文章：

ubuntu18.04安装lua的步骤 以及 出现的问题_weixin_41355132的博客-优快云博客

问题解决，安装成功：



情况并没有好转，出现相同的报错（想了一下发现可能前面安装过lua了，好像跟torch啥的包有关）：



可能是这个东西没安装..]]></description><category></category></item></channel></rss>