自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(289)
  • 收藏
  • 关注

原创 Debug: Pytorch dataloaders OSError: Bad file descriptor

pytorch dataloader多进程处理大数据集时,很容易报设置共享内存可以解决这个报错,但是会带来内存泄漏问题。

2024-05-09 13:52:54 328 1

原创 Debug: yaml-cpp: error: ‘next’ is not a member of ‘boost’

比较新的boost包中可能出现找不到迭代器next方法,在。

2023-12-01 12:48:24 821

原创 CMakeLists.txt:打印find_package变量;判断库文件路径设定是否正确;install文件设置

安装目标文件:通过TARGETS关键字指定要安装的目标文件,并通过DESTINATION关键字指定目标文件的安装路径。这样,当我们使用make install命令时,构建生成的myapp可执行文件将被安装到bin目录下,myheader.h头文件将被安装到include目录下,而mydir目录及其下的文件将被安装到share/myapp目录下。在上面的示例中,install()命令指定了要安装的目标(即${EXECUTABLE_NAME})和目标的安装路径(即/usr/local/bin)。

2023-11-23 18:40:14 1904

原创 Debug报错:THC\THC.h: No such file or directory; pip从.git子文件夹中安装指定分支

编译Pointnet2.PyTorch仓库中的setup.py时报THC\THC.h: No such file or directory。原因是THC.h在pytorch 1.11版本中被移除了,需要修改代码。部分仓库中setup.py文件在子文件夹中,需要使用pip install 从子文件夹中直接安装某个分支。比如上面这个PointNet2.Pytorch仓库的setup.py在子文件夹。

2023-01-09 15:38:01 1432 2

原创 Debug报错:libORB_SLAM3.so: undefined symbol: _ZN5DBoW24FORB1LE

文件夹自带了一个DBoW2源码,编译ORBSLAM3会自动编译DBoW2,因此这个报错通常是系统路径下已经有了之前编译过的DBoW2造成的。一般而言,这是因为没找到DBoW2的动态库,或者库版本不一致。但是,因为DBoW2是SLAM常用的包,也可能是之前编译过DBoW2的包并且。,把在系统路径下的删掉就行了,但会导致其他使用该动态库的工程报错。到系统路径下,导致同名包冲突。然后重新编译整个工程就行了。ORBSLAM3工程文件的。修改ORB_SLAM3下的。

2022-12-13 14:36:34 1409 4

原创 数据的距离度量 三、Jaccard距离,卡方相似度,相关系数,Dice系数

用于衡量两个集合A,B的样本相似度,距离越接近1的两个集合相似度越小:Jaccard(A,B)=1−A∩BA∪BJaccard(A,B)=1 - \frac{A \cap B}{A \cup B}Jaccard(A,B)=1−A∪BA∩B​用于衡量两个向量(样本)之间的相似性:Chi−Square(u,v)=∑i2uiviui+vi,∑iui=∑ivi=1Chi-Square(u,v)=\sum_i\frac{2u_iv_i}{u_i+v_i},\quad \sum_iu_i=\sum_iv_i=

2022-12-05 19:32:53 1500 1

原创 数据的距离度量 二、余弦距离,汉明距离,测地距离,布雷柯蒂斯距离

本篇记录余弦距离,汉明距离,测地距离,布雷柯蒂斯距离。

2022-11-16 17:08:40 1061

原创 数据的距离度量 一、欧式距离,曼哈顿距离,闵氏距离,切比雪夫距离,兰氏距离,马氏距离

本篇记录一下常用的数据距离度量方法,欧式距离,曼哈顿距离,闵氏距离,切比雪夫距离,马氏距离,兰氏距离。

2022-11-14 16:15:10 1744

原创 Pytorch 梯度计算,叶子节点,requires_grad,detach

本篇记录pytorch中梯度相关内容,叶子节点定义与detach的使用。

2022-11-14 14:23:30 1609

原创 pytorch: hook机制,取网络层的输入输出和梯度

本篇记录在pytorch中,通过hook机制将网络某层的输入输出和梯度取出。

2022-11-13 17:28:39 2877

原创 python: print输出到文本文件中;赋值语句的执行流程

本篇记录python中使用print输出到文本文件中,以及python中赋值语句的执行流程。

2022-11-13 15:04:56 4510

原创 matplotlib show, ion, ioff, clf, pause的作用

matplotlib画图时经常涉及ion, ioff, pause, show这几个函数的作用,这里记录一下。

2022-11-12 20:42:41 4091

原创 Numpy:连续索引元素赋值失败的问题

最近用numpy做索引赋值时,发现了一个连续索引的问题,记录一下。

2022-11-12 19:56:21 1530

原创 pytorch UserWarningfault grid_sample; Python opencv Qt报Current thread的新解决方法

torch 1.4后functional.py下的和两个函数的参数从默认True变False了,因此会报这个提醒。进入functional.py文件,搜索这行代码,修改成(或者True,具体可以看的作用)

2022-11-12 15:42:51 2305

原创 opencv-python QObject::moveToThread报错; 4.6.0.66版本无代码补全;Matplotlib plt.show()无显示

意思是QT没有加载到libqxcb这个插件,即使找到了它。opencv4的imshow函数是使用QT绘制窗口的。最简单的解决方法就是直接降级,opencv

2022-10-27 15:55:49 2213

原创 Python: RGBD转点云

本篇记录Python将RGBD图像转点云的方法。

2022-09-30 17:28:59 2613

原创 Python: RANSAC随机一致性原理与实现

最近要把点云平面做分割,想到可以使用RANSAC做平面拟合。以前经常在图像配准里使用RANSAC做单应性计算,这里记录一下RANSAC的原理以及使用RANSAC拟合平面直线的方法。

2022-09-29 21:03:40 1943

原创 ROS学习十三、多机ROS通信

本篇记录ROS的多机通信方法。如果想把无人机端接收到的图像数据发送到PC端,就可以通过ROS多机通信进行。

2022-09-07 19:39:59 4217 5

原创 Python: 使用pytest进行代码测试

本篇记录使用pytest对python工程进行测试的方法。一般而言,一个完整的python项目需要把暴露出的接口进行测试,pytest是一个写测试用例的工具。

2022-09-02 16:37:28 1438

原创 Python: 使用logging模块替代print

之前写python经常用print()函数来打印中间信息和变量,如果使用logging可以更明确的输出信息的重要级。

2022-09-01 22:28:39 1214 1

原创 CMakeLists学习三、指定OpenCV, PCL版本

本篇记录一下在CMakeLists.txt中指定OpenCV, PCL的版本(可以举一反三到其他包的版本指定上)首先需要明确CMakeLists的找包逻辑,可以参考find_package查找包,以及ld搜索链接库路径两篇博文。

2022-09-01 21:53:50 2848

原创 ROS学习十二、图像传输Image_transport使用

本篇简要记录ros中的图像传输可包image_transport。ROS在图像传输时,为了节省带宽,先将图像压缩后再做传输,如图像话题就是压缩后的图像,图像被接收后还需要解压才能使用。

2022-09-01 21:02:25 5186

原创 Python: 在函数中使用全局变量

本篇记录一个python问题,在函数中使用全局变量。

2022-07-30 16:15:32 9225

原创 Python: 使用sphinx生成python项目文档

本篇记录使用sphinx生产成python项目文档的方法。

2022-07-24 22:55:53 1045

原创 Python numpy使用记录6.numpy拼接操作,concatenate,stack,hstack,vstack,c_,h_

本篇记录一下numpy中常用的几种拼接方法。

2022-07-24 16:25:01 550

原创 python: namedtuple使用; numpy保留两位小数

出差了一周,现在记录一下出差前写码的两个pythontricks。

2022-07-21 15:58:19 3989

原创 ROS报错:No module named ‘Cryptodome‘, sphinx指定使用python3编译

python3使用ROS的cv_bridgepip安装上面的包就行了。

2022-07-21 15:11:29 815

原创 ROS编译PyKDL python3

本篇记录编译PyKDL的python3版本。由于PyKDL是通过pybind11包装C++库,因此使用python3.6编译的.so库不能用于python3.7等不同版本的python。替换文件由于KDL库默认优先使用catkin python编译,需要修改文件使用python3.6编译:将文件完整替换为:然后:将完整替换为:编译首先编译C++库:然后再编译python3版:anaconda环境使用PyKDL开头写了,python3.6编译的PyKDL不能给python3.7、pytho

2022-07-11 09:23:27 1869 4

原创 ROS melodic编译源码适配python3

ROS melodic标配python2.7,这里通过编译源码来使ROS适配python3。这里默认已经装好了ROS melodic。首先保证下面的build依赖都装好了:下载源码建立一个工作空间,下载源码:这里由于网络原因会很慢并且下载不完全,这里修改两个下载脚本使用代理网站:运行下载脚本时,保证没有E(error)出现,不报红错。现在安装src文件夹下的包的依赖:catkin编译最后使用catkin进行编译,并且指定python3版本:编译完成后,可以看到这个文件夹下有各种包,说明编译

2022-07-09 14:54:36 1726 2

原创 ROS melodic安装Moveit,OMPL

本篇记录安装Moveit库和OMPL库的过程。最简单的安装方法是直接通过apt安装moveit的二进制包,但容易出现依赖冲突。这里选择从源码编译。编译源码首先创建一个ros工作区:然后拉取源码:由于网络原因,拉取第二步可能比较慢,因此可以替换成代理网站:上面的步骤完成后,可以在src文件夹中看到几个moveit包,随后更新包依赖:最后编译:测试首先source一下环境变量:开始测试:出现moveit界面,表明安装完成。首先下载ompl官方安装脚本然后修改一下文件权限:然后运行安装脚本

2022-07-09 10:51:52 1310

原创 Debug: defusedxml, CV_LOAD_IMAGE_UNCHANGED,CV_IMWRITE_JPEG_QUALITY,undistortPoints

错误日志1运行python报:解决方法就是有个python包没找到,装上就行:错误日志2为python3编译ros vision_opencv中的cv_bridge时,报:直接原因是编译器没找到opencv中这个常量的定义,根本原因是opencv4中把下面这些常量替换了:把上面的常量名换成opencv4的就行了错误日志3为python3编译ros image_pipeline时,报:其实原因和上面一样,常量名在opencv4中被替换了解决方法把换成,问题解决。错误日志4还是编译上面的r

2022-07-08 23:02:38 1791

原创 最小二乘系统辨识课 中篇:递归最小二乘

本篇记录系统辨识课中的递归最小二乘原理。如下的系统辨识模型:{y(1)=φT(1)θ+v(1)y(2)=φT(2)θ+v(2)...y(t)=φT(t)θ+v(t)设:Yt=[y(1)y(2)...y(t)]THt=[φ(1)φ(2)...φ(t)]TVt=[v(1)v(2)...v(n)]T有:Yt=Htθ+Vt\left \{\begin{aligned}y(1)&=\varphi^T(1)\theta+v(1) \\y(2)&=\varphi^T(2)\theta+v(2) \\&...

2022-06-23 10:57:44 1171 1

原创 Ubuntu18 ft232驱动安装

使用ft232芯片把USB转TTL信号,需要先安装ft232的驱动。本篇记录Ubuntu下的ft232驱动安装。首先到FTDI公司官网上下载D2XX Drivers,选择Linux的1.4.24版本,下载得到libftd2xx-x86_64-1.4.24.tgz压缩包,解压缩。压缩包中有安装readme,但是是英文的,我这里直接给出步骤:完成以上操作后,驱动就应该正常安装了。将FT232转换头插到PC USB接口,然后:如果看到这样的端口,表示FT232驱动正常运行,就可以快乐的调试舵机啦。我发现,有的

2022-06-21 17:01:26 3772 1

原创 pybullet机器人仿真环境搭建 5.机器人位姿可视化

本篇记录一下如何在pybullet中可视化机器人的位姿。pybullet提供了在仿真环境中添加点线文本的api,比如等,并返回这些点线的id,可用于后续的删除修改。这里我写了一个画物体坐标系的函数,来可视化位姿,代码应该很容易懂:代码例程把上面的函数与上一篇pybullet环境的博客结合,给出机器人当前的位姿:可视化效果如下:需要注意,画线操作和删除线操作都会严重影响pybullet引擎的运行速度,实际感觉一卡一卡的。...

2022-06-20 16:33:47 1550 1

原创 最小二乘系统辨识课 上篇:辨识模型与最小二乘

电脑再跑程序把CPU占满了,那就回顾一下系统辨识课的内容吧。系统辨识可以分为两类,第一类是系统结构辨识,也就是判断系统属于哪种参数模型。第二类是已知系统结构,估计系统模型的参数。本文总结的是第二类系统辨识的内容。系统辨识的四大要素为:输入输出(已知),模型集合(给定),准则函数(误差函数)和优化方法(各种最小二乘迭代法)。u(t),y(t),v(t)u(t),y(t),v(t)u(t),y(t),v(t)分别表示 t 时刻系统的输出,输入,系统白噪声,白噪声服从高斯分布v(t)∼N(0,σ2)v(t) \s

2022-06-20 15:00:47 1666

原创 Ubuntu18 在anaconda python3.8环境下安装python-pcl

github上python-pcl仓库中声明的linux系统环境要求是pcl

2022-06-07 14:53:45 1839 2

原创 Debug: python报错 ‘time‘ has no attribute ‘clock‘

错误日志在python3.8中使用time包计时,报函数不存在:解决方法其实早在python3.3中time的clock模块就被废弃了,并且在python3.8中被彻底删除:用于返回当前的CPU时间,以达到计时的效果,使用方法类似于。现在可以使用来替换原先的,问题解决。...

2022-06-07 14:28:47 969

原创 python: 使用os.system为文件批量建立软连接

import osroot_path = os.path.abspath('./')source_dir = os.path.join(root_path, 'trainvaltest')target_dir = os.path.join(root_path, 'scenes')for f in os.listdir(source_dir): for ff in os.listdir(os.path.join(source_dir, f)): source = os.pat

2022-05-17 14:38:56 1598

原创 Debug: Minkowski undefined symbol; Tensorboard has no attribute ‘version‘

Debug: Minkowski undefined symbol; Tensorboard has no attribute ‘version’

2022-05-16 20:12:18 925 2

原创 Debug:nvcc fatal: Unsupported gpu architecture ‘compute_86‘; sm_86 is not compatible with Pytorch

Debug:nvcc fatal: Unsupported gpu architecture 'compute_86'问题描述1编译knn_cuda时,报了个错:nvcc fatal : Unsupported gpu architecture ‘compute_86‘意思是显卡算力太高,安装的cuda版本不支持(竟然还有这么神奇的错误),compute_86指显卡计算能力是8.6,RTX 30系,A系显卡都是这个算力。解决方法通过系统环境变量设置降低算力:export TORCH_CUDA

2022-05-13 13:29:23 2333

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除