- 博客(226)
- 收藏
- 关注
原创 利用docker技术基于paddle镜像的二次开发
说到docker想必大家一定不陌生,docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何Linux 机器上,也可以实现虚拟化。docker就像船搬运货物时,需要先拆了再装上。假如能把一切的东西都放到一个集装箱里,就只用搬运箱子不用搬运货物,大幅度的省时省力。关于dokcer有什么优势了?(以下只是一部分)1.高效利用系统资源d...
2019-06-11 13:33:28
1500
原创 spark mllib库 进行电影聚类分析(Scala语言)
实验镜像:下载链接:https://pan.baidu.com/s/15Fc1L3iJEcbXo7SVW9mTfg提取密码:iaom用户名:c205,密码:一个空格root密码:一个空格Spark 机器学习库简介Spark 机器学习库提供了常用机器学习算法的实现,包括聚类,分类,回归,协同过滤,维度缩减等。使用 Spark 机器学习库来做机器学习工作,可以说是非常的简单,通...
2019-06-11 13:24:39
3120
原创 电脑选项建议及深度学习环境安装指导(旧资料整理)
摘要:本文介绍了深度学习开发所需的硬件配置和环境搭建指南。硬件方面建议使用Intel i5/i7处理器、NVIDIA显卡(GTX1660起)、16GB内存和512GB固态硬盘。环境搭建部分详细讲解了Windows系统下安装NVIDIA驱动、CUDA、cuDNN、Anaconda和PyCharm的步骤,包括版本选择、安装验证等关键环节。文章强调配置越高效率越高,但低配设备仍可通过时间换取性能空间。同时指出不同操作系统均可搭建深度学习环境,但重点介绍了Windows系统的配置方法。
2026-05-26 14:57:42
478
原创 QT中控件qss样式修改
Qt style sheet, 简写就是qss, Qt样式表,不需要用C++代码控件进行重载,就可以修改控件外观,美化界面,类似于前端的css, 但是没有css功能强大. 例如下面QLabel的样式设置除了以上样式外,还有很多,qss千变万化,可以写出各种花里胡哨的样式。
2026-05-20 14:17:02
412
原创 ROS2通信(话题、服务、动作、参数)
本文介绍了ROS2中的四种通信机制:话题通信、服务通信、动作通信和参数服务。话题通信采用发布/订阅模式实现单向数据传输,适用于传感器数据等持续更新的场景;服务通信基于请求-响应模式,适用于需要即时响应的操作;动作通信在服务通信基础上增加了连续反馈功能,适合处理耗时任务;参数服务则以共享方式实现节点间数据交互。文章详细说明了每种通信方式的概念模型、应用场景及实现流程,并通过C++代码示例展示了如何创建自定义接口消息和实现完整的通信功能。最后还介绍了参数数据类型及操作方法,为ROS2机器人系统开发提供了全面的通
2026-05-17 21:14:25
511
原创 四轴无人机背景知识
摘要:四旋翼飞行器是一种通过四个对称旋翼产生升力的直升机,主要分为X型和十字型结构,其中X型结构稳定性更好。其控制系统涉及飞控、惯性导航模块、姿态解算等关键组件,通过PID算法实现稳定控制。飞行原理包括垂直、水平、偏航、横滚和俯仰运动,利用电机转速差实现不同方向的运动。姿态解算方法包括角速度积分、加速度解算、互补解算、四元数和卡尔曼滤波等,各具优缺点。PID控制分为模拟和数字两种形式,串级PID能更好地抑制干扰。
2026-04-29 16:10:05
467
原创 Windows 安装openClaw(整理)
Windows安装OpenClaw完整步骤:1)安装Git;2)以管理员身份运行PowerShell,执行远程安装脚本时需先设置执行策略为RemoteSigned;3)安装过程中需确认安装Node.js,选择QuickStart和Qwen模型;4)完成网页认证后,建议跳过通信软件配置和Skill设置。遇到脚本拦截问题时需调整执行策略,具体报错可咨询AI模型解决。
2026-04-29 15:38:35
126
原创 ROS2通信机制简介
本文介绍了ROS2通信中的核心概念和术语。首先说明通信的基本要素包括节点(Node)、话题(Topic)等,节点对应功能模块,话题实现跨语言节点关联。然后详细讲解了四种通信模型:单向传输的话题通信、请求-响应模式的服务通信、带反馈的动作通信以及共享式的参数服务。最后重点介绍了三种接口文件(msg/srv/action)的数据载体定义方式,包括文件结构、数据类型和特殊Header类型。这些概念构成了ROS2通信的基础框架。
2026-04-22 14:34:45
331
原创 ROS 2 文件系统
摘要:ROS2采用三层架构设计:操作系统层(依赖Linux等基础OS)、中间层(基于DDS实现去中心化通信)和应用层(以功能包为核心)。功能包开发需依托工作空间,采用colcon构建系统支持多工作空间叠加。C++和Python功能包分别通过CMakeLists.txt和setup.py配置编译规则。运行时需source环境配置,支持动态资源定位和参数文件加载。日志默认存储在~/.ros/log/,可通过环境变量自定义路径。package.xml文件统一管理包元信息和依赖关系,是功能包编译的基础配置文件。
2026-04-22 14:18:46
443
原创 Ubuntu 22.04 + ROS 2 Humble 下 SLAM 建图 + 导航(Nav2 + slam_toolbox) 的完整教程
本文介绍了基于ROS2 Humble的机器人导航与SLAM实现流程。首先指导在Ubuntu 22.04上安装ROS2 Humble及必要导航包(Navigation2)和SLAM工具(slam_toolbox)。接着以TurtleBot3为例,详细说明仿真环境搭建、SLAM建图操作(包括Gazebo仿真启动、slam_toolbox实时建图和RViz2可视化),并介绍地图保存方法。最后讲解如何使用Nav2进行自主导航,包括加载地图、初始定位和目标点设置。整个过程涵盖从环境配置到实现完整导航功能的完整链路,为
2026-04-21 13:22:59
431
原创 Ubuntu 22.04 下 PX4 仿真环境搭建总结(纯试一下)
摘要:在Ubuntu22.04搭建PX4仿真平台时,需注意三个关键组件:PX4Autopilot、Gazebo和QGroundControl。新版PX4已从GazeboClassic转向新Gazebo(gz),导致旧命令失效。安装过程中常见问题包括Gazebo依赖未正确安装、子模块同步不完整等。建议使用官方脚本安装依赖,配置Gazebo官方源,并注意QGroundControl的串口权限设置。典型错误如"unknowntarget"多由版本不匹配或依赖缺失导致,可通过清理缓存和检查安装解
2026-04-17 13:23:29
672
原创 Ubuntu Terminator(多开并行终端工具)
Terminator是一款强大的Linux终端模拟器,专为提升多任务处理效率设计。相比默认终端,它支持窗口分屏、标签页管理、多终端同步输入等功能,特别适合开发、测试和运维场景。安装简单,只需sudo apt install terminator即可。其核心优势在于允许用户在一个窗口中同时操作多个终端,通过丰富的快捷键实现快速分屏(Ctrl+Shift+O/E)、终端切换(Alt+方向键)、标签管理(Ctrl+PageUp/Down)等操作。还支持终端分组、同步输入(Super+t)、窗口布局保存等高级功能,
2026-04-14 11:48:25
395
原创 ROS2 《Hello World》案例
本文介绍了在ROS2中实现"Hello World"程序的两种方法:C++版本和Python版本。首先需要创建工作空间并编译,然后分别创建功能包:C++使用ament_cmake构建系统,Python使用ament_python。两种实现流程相似:1)创建功能包;2)编辑源文件输出文本;3)配置package.xml和构建文件(CMakeLists.txt或setup.py);4)编译工作空间;5)运行程序。C++版本使用rclcpp库创建节点并输出日志,Python版本则使用rclpy
2026-04-14 11:00:35
345
原创 ROS2 安装指南(Ubuntu 22.04+Humble)
1.打开两个终端(可以使用快捷键Ctrl + Alt + T);可以考虑使用国内镜像源(如清华、中科大)提升下载速度。执行完毕,可以在此终端中通过键盘控制乌龟运动。执行完毕,会启动一个绘有小乌龟的窗口;3.终端2中输入指令。原因:未加载环境变量。
2026-04-14 10:26:05
1002
原创 ROS2组成体系
ROS2作为新一代机器人操作系统框架,其生态系统由四大核心构成:通信层(基于DDS中间件实现分布式通信)、工具链(提供构建调试等开发工具)、功能模块(包含感知、导航等机器人核心能力)以及开源社区。这四个层次相互支撑,共同推动机器人软件开发效率和应用创新。建议开发者从工具入手,逐步掌握通信机制,通过功能实践深化理解,最终参与社区共建完整的机器人技术生态。
2026-04-14 09:53:55
772
原创 LLamaFactory 微调Qwen-VL-3B时报错TypeError: argument of type ‘NoneType‘ is not iterable
摘要:在微调Qwen-VL-3B模型时出现TypeError错误,原因是modeling_utils模块的ALL_PARALLEL_STYLES属性缺失或为None。
2025-07-09 16:52:41
317
原创 使用LLaMA-Factory微调Qwen2.5-VL-3B 的目标检测任务-使用LLaMA-Factory webui进行训练
本文介绍了使用LLaMA-Factory WebUI进行模型微调的具体操作流程。首先在根目录运行webui.py启动服务,通过浏览器访问交互界面。主要步骤包括:选择Qwen2.5-VL-3B基础模型、设置SFT微调模式、上传自定义数据集(如Qwen25_vl.json)、调整训练参数(输出目录、batch size等)。训练过程中可实时查看日志和Loss曲线,完成后在指定目录获取微调后的模型权重。该WebUI提供了可视化的模型微调操作界面,简化了训练流程。
2025-07-09 14:41:07
1559
2
原创 使用LLaMA-Factory微调Qwen2.5-VL-3B 的目标检测任务-LLaMA-Factory训练数据配置
摘要:本文介绍了将自定义数据集导入LLaMA-Factory的步骤:首先将JSON数据文件(如sharegpt_qwen25vl.json)复制到指定目录,然后在dataset_info.json中添加数据集配置,包括文件路径、格式类型(sharegpt)以及消息和图像对应的字段映射。该过程为模型训练提供了数据准备支持。
2025-07-09 14:33:41
656
原创 使用LLaMA-Factory微调Qwen2.5-VL-3B 的目标检测任务-数据集格式转换(voc 转 ShareGPT)
本文介绍了将VOC格式标注数据转换为ShareGPT格式的方法。ShareGPT格式采用多轮对话的JSON结构,包含用户指令和AI回复字段。文中提供了一个完整的Python脚本,能够递归遍历VOC数据目录,自动配对XML标注文件和图片,并将目标检测信息(类别和边界框)转换为ShareGPT要求的格式。脚本最终输出包含图像路径和标注信息的JSON文件,适用于LLaMA-Factory和Qwen2.5-VL等模型的训练。该方案支持嵌套文件夹结构,能够处理常见的图像格式,并保持相对路径的一致性。
2025-07-09 14:24:56
1112
1
原创 使用OpenVINO2025量化部署QWen2.5-VL多模态大模型
Qwen2.5VL模型增强了图像识别、物体定位、文档解析和视频理解能力。使用前需安装torch、transformers等依赖库,可从modelscope或huggingface下载模型。通过optimum-cli可将模型转换为INT4格式以优化性能。示例代码展示了如何加载模型,处理输入图像并执行推理,但运行时间较长。该模型支持中文,适用于多模态任务。
2025-06-13 09:29:26
531
原创 ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
解放方式:
2024-12-16 13:40:26
242
原创 工业相机视场角计算
如果物距为1米,可以计算实际视场范围(Field of View Range, FOVR)现在常用的是海康威视品牌的相机,打开官网查找现在相机型号,在详细信息里面找到。,可以通过计算得出视场角(FOV, Field of View)。通过计算得到传感器尺寸。
2024-11-22 09:26:46
2381
原创 AttributeError: module ‘PIL.Image‘ has no attribute ‘ANTIALIAS‘
训练模型时遇到AttributeError: module 'PIL.Image' has no attribute 'ANTIALIAS',原因为高版本的。使用vim打开报错的文件,输入 :set nu,显示行号信息,然后输入报错的位置行号 443,直接跳转到报错行的位置,修改如下所示。使用Image.LANZOS方法替换Image.ANTIALIAS。pillow库中的ANTIALIAS方法已经删除了。还有一种方式降低PILLow的版本;使用pip 或者conda 安装。然后再次运行,OK。
2024-09-24 11:43:58
4118
原创 C++使用Sanp7 实现西门子s7通信
使用Snap7库可以实现与西门子S7系列PLC的通信。以下是一个基本的C++示例,演示如何使用Snap7库来连接西门子S7 PLC并读取和写入数据。
2024-06-06 10:13:46
2367
原创 使用opencv在图像上画带刻度线的对角线,以图像中心点为0点
使用OpenCV在图像上绘制带刻度线的对角线,可以通过以下步骤实现。我们将首先找到图像的中心点,然后绘制对角线线,并在这些线的适当位置绘制刻度线。
2024-06-06 09:50:35
624
原创 使用opencv在图像上画带刻度线的十字线,以图像中心点为0点
使用OpenCV在图像上绘制带刻度线的十字线,可以通过以下步骤实现。我们将首先找到图像的中心点,然后绘制水平和垂直线,并在这些线的适当位置绘制刻度线。
2024-06-06 09:44:50
1372
原创 使用C++版本的opencv dnn 部署onnx模型
使用OpenCV的DNN模块在C++中部署ONNX模型涉及几个步骤,包括加载模型、预处理输入数据、进行推理以及处理输出。构建了yolo类,方便调用
2024-06-06 09:14:59
1655
11
原创 ubuntu18 编译ROS代码 报“cxx_attribute_deprecated”is not know to CXX compiler
1:先检查一下 编写的CMakeList.txt的文件中,所包含、链接的文件和库是否都存在且引用正确(仔细的查看了一下,都是正确的)2:查看一下cmake的版本,可能是cnake版本过低造成的(升级cmake版本后,居然成功了)查看安装后的cmake版本(显示3.25.2)安装最新版本的cmake(使用ppa安装)然后使用apt 安装cmake。(显示的为3.10.2)居然奇迹的编译过了~然后在编译ROS代码。
2023-08-24 14:38:46
720
原创 ubuntu 下载地址(国内镜像源比较快)
官方下载地址中科大源南京大学上海交通大学清华大学阿里云开源镜像站浙江大学不知名镜像网站各个版本下载网址:
2023-08-17 14:45:36
4744
原创 图像多目标跟踪
目标跟踪所要做的是根据传感器量测序列确定真实目标的数量以及每个目标的对应状态(位置、速度、航向等)多目标跟踪常用的两个算法为:卡尔曼滤波和匈牙利匹配两个算法匈牙利匹配算法用于匹配前后帧目标,因为目标检测器的不稳定(垃圾)往往容易丢失目标或目标框的位置偏移,影像匈牙利匹配的结果。卡尔曼滤波可以基于t时刻的历史状态信息(目标框的位置x,y,w,h)预计t+1时刻的状态信息,出现丢失目标的时候,比匹配丢失前一帧目标位置,目标的运动轨迹要平滑的多,也不会存在匹配不到目标的情况。
2023-08-11 16:59:15
644
Windows C++版本的opencv4.8+opencv-contrib,使用vs2019编译
2024-06-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅