永力
码龄8年
关注
提问 私信
  • 博客:59,111
    59,111
    总访问量
  • 34
    原创
  • 1,450,568
    排名
  • 16
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2017-05-07
博客简介:

sinat_38685124的博客

查看详细资料
个人成就
  • 获得54次点赞
  • 内容获得20次评论
  • 获得240次收藏
  • 代码片获得1,095次分享
创作历程
  • 3篇
    2023年
  • 3篇
    2022年
  • 16篇
    2021年
  • 5篇
    2020年
  • 7篇
    2019年
成就勋章
TA的专栏
  • 秋招面试
    4篇
  • 深度学习
    12篇
  • 设计模式
  • Opencv
    2篇
  • 多线程
    1篇
  • Nano
    2篇
  • Jetson
    1篇
  • AGX
    2篇
  • lsd
    1篇
  • caffe
    1篇
  • python
    10篇
兴趣领域 设置
  • Python
    python
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Expected a default value of type Tensor (inferred) on parameter “alpha“

使用torch.jit.script转的时候,出现错误。
原创
发布博客 2023.07.26 ·
510 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

win10安装cuda11.4及cudnn

在windows终端键入nvidia-smi,查看nvidia显卡驱动。显卡驱动的版本决定了CUDA的版本下限。如果出现上述的问题,则终端进入文件夹内,再键入nvidia-smi,可以看到我的驱动版本是472.84,最高可以支持CUDA11.4.
原创
发布博客 2023.07.23 ·
1618 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

python中float32与float64强转偏差

torchpytorch中定义张量,要确定好正确的数据类型,否则会出现float32-float64之间的强转偏差,虽然误差很小,但是在某些场合(模型推理、imu预积分等)会出现比较大的累计误差。pytorch定义张量,默认的数据类型为torch.float32.g1 = torch.tensor([9.8065000000]) # 默认torch.float32print(format(g1.item(), '.10f'))# 9.8065004349g2 = torch.tensor([9
原创
发布博客 2023.02.28 ·
723 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

【yolov5】loss.py源码理解

yolov5的loss.py中的build_targets函数中由两处扩充正样本的地方:因为anchor有3个,所以将targets扩充成3份,每一份共享一个anchor;假设一共有20个targets目标框,则将目标数扩充至[3, 20],共60个目标;第一份的20个目标与第一个anchor匹配,第二份的20个目标与第二个anchor匹配,第三份的20个目标与第三个anchor匹配,那么会有一部分目标没有匹配上(目标框与anchor的宽比或高比超出阈值),则最后可能会只有30个目标匹配成功,剩余的ta
原创
发布博客 2022.04.23 ·
2203 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

aloam源码学习——laserOdometry

该模块接收前一模块scanRegistration发布的几个主题,对相邻两帧的特征点进行匹配,通过优化点到线、点到面的距离,求得激光的位姿增量;主要逻辑:订阅scanRegistration发布的曲率极大点集,曲率次极大点集,曲率极小点集和次极小点集,压入队列;保证这几个点集时间戳是同步的;当前帧的极大点P找前一帧中的最近邻点A(在次极大点集中寻找),在A点的附近线上寻找点B,构建对P与AB线的距离优化的问题;当前帧的极小点P找前一帧中的最近邻点A(在次极小点集中寻找),在A点附近线上寻找点B、
原创
发布博客 2022.01.08 ·
542 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

aloam源码学习——scanRegisteration

最近有项目要用激光建图与定位(SLAM),花了一周把aloam源码读了一遍;后来开了几次项目会议,才发现用不到激光slam,于是对激光slam的研究暂时搁浅。参考了其他aloam源码的理解的文章,这里是我理解的部分。主要的逻辑:订阅激光点云数据;剔除无效点与离传感器过近的点;确定点云的起始方位角和结束方位角,令结束方位角与开始方位角差值控制在(PI,3*PI)范围计算每个点的仰角,根据仰角为每个点找到了对应的扫描线;每条扫瞄线分成6段扇区,每个扇区选出2个曲率极大点和20个曲率次极大点,同时
原创
发布博客 2022.01.08 ·
499 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

CLion配置ROS环境

打开终端,进入工作空间/catkin_ws`source devel/setup.bash`在该终端运行clion.sh(clion.sh在clion安装目录下)此时clion已打开,File/Open, 选择功能包的CMakeLists.txt,Open as Project即可。(可选)修改编译目录。File/Settings.../Build,Execution,Deployment令CMake options为-DCATKIN_DEVEL_PREFIX:PATH=..
原创
发布博客 2021.12.28 ·
1631 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

ubuntu18.04安装cartographer记录

按照官网指导上的指令安装下来,在个别步骤上可能会因为长城的缘故,导致安装失败,一波三折。费了一天时间,终于把cartographer安装成功,翻阅了各种博客文章,结合自己碰到的问题,总结记录一下。安装依赖包sudo apt-get updatesudo apt-get install -y python-wstool python-rosdep ninja-build stow创建工作空间与下载安装包mkdir catkin_wscd catkin_wswstool init src
原创
发布博客 2021.12.24 ·
2002 阅读 ·
1 点赞 ·
2 评论 ·
19 收藏

【C++】boost::filesystem遍历文件目录

boost::filesystem是Boost C++ Libraries中的一个模块,主要作用是处理文件(Files)和目录(Directories)。在c++中使用boost库遍历文件目录。demo// demo.cpp#include <iostream>#include <boost/filesystem.hpp>#include <boost/algorithm/string/classification.hpp>#include <bo
原创
发布博客 2021.12.22 ·
4146 阅读 ·
1 点赞 ·
0 评论 ·
8 收藏

opencv->tensorrt的数据排列方式

在使用tensorrt的时候,将opencv的Mat格式处理成tensorrt输入方式。中间还有图像预处理,包括通道的变换、图像尺寸变形,最重要的是如何将Mat格式处理成tensorrt 可接受的输入格式。Mat的图像数据,每个像素的三个通道是相邻存储的,因此要将Mat通道分离;使用split函数分离通道std::vector<float> prepareImage(std::vector<cv::Mat> &vec_img) { std::vector&l
原创
发布博客 2021.11.17 ·
3038 阅读 ·
4 点赞 ·
1 评论 ·
11 收藏

pytorch中的normalize应用

torch.nn.functional.normalize(input, p=2, dim=1, eps=1e-12, out=None)其中,p表示范数(这里是2范数),dim表示计算范数的维度(默认为1),eps是为了防止分母为0;pytorch中的normalize函数本质上就是针对某个维度进行归一化,公式为:ν=νmax(∣∣ν∣∣p,ϵ)
u = \frac{
u}{max(||
u||_p,\epsilon)}ν=max(∣∣ν∣∣p​,ϵ)ν​示例a = F.softmax(
原创
发布博客 2021.11.14 ·
5574 阅读 ·
8 点赞 ·
0 评论 ·
17 收藏

C++多线程使用

多线程编程在计算机领域常用到的一种技术。多线程,顾名思义,指在单个系统里同时启动多个独立的线程,每个线程各干各的,互不影响。显然它的效率要比单线程工作效率高的多。比如,要导入处理10万条数据,一个线程既负责导入数据又兼具处理数据的任务,是一个串行处理的流程,运行效率低下。如果用多个线程工作,部分线程负责导入数据,另一部分线程负责处理数据,实现并行处理,运行效率可以提升数倍。自从c++11开始,c++开始在语言级别上支持多线程,为多线程编程提供了极大的便利。1. Hello world#include
原创
发布博客 2021.10.24 ·
2457 阅读 ·
3 点赞 ·
2 评论 ·
17 收藏

【opencv】pytorch->onnx->opencv模型推理

opencv的DNN推理模块是不直接支持pytorch训练出来的pth文件。一般来说,可以将pth文件转成onnx格式,再用opencv调用onnx文件,即可实现推理。pth文件转onnx文件时,因为onnx对于pth中某些定义的层是不支持的,难免会碰到一些问题。近期,对一些分割网络进行了部署,碰到的一些问题记录在下。RuntimeError: ONNX export failed: Couldn’t export operator aten::adaptive_avg_pool2donnx不支持
原创
发布博客 2021.08.28 ·
3941 阅读 ·
5 点赞 ·
0 评论 ·
20 收藏

HRNet-segmentation的网络结构分析

High-Resoultion Net(HRNet)由微软亚洲研究院和中科大提出,发表在CVPR2019。HRNet的网络在CV领域,越来越得到关注,因为很多用HRNet作为骨架网络的方案在语义分割、目标检测、分类、分割、人体姿态估计等领域均取得瞩目的成绩。文章名称:Deep High-Resolution Representation Learning for Human Pose Estimation本文主要内容是展示HRNet在分割领域的模型结构,下面的例子选用HRNet_w48模型。Githu
原创
发布博客 2021.08.18 ·
1491 阅读 ·
6 点赞 ·
0 评论 ·
22 收藏

realsense D435i安装及标定遇到的问题

问题1:编译kalibr时,出现问题:fatal error: libv4l2.h解决方法:sudo apt install libv4l-dev问题2:使用kalibr生成棋盘时,出现问题:ImportError:No module named pyx 解决方法:sudo apt-get install python-pyx问题3:使用以下命令标定时,kalibr_calibrate_cameras --target '/home/robot/kalibr_ws/src/kal
原创
发布博客 2021.05.20 ·
825 阅读 ·
0 点赞 ·
1 评论 ·
9 收藏

librealsense编译找不到openssl

编译librealsense,cmake失败,出现下述问题:Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR)解决办法sudo apt-get install opensslsudo apt-get install lib
原创
发布博客 2021.05.19 ·
365 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

AGX系统备份及恢复

前提:用原装usb-typeC线连接host机和AGX,启动AGX恢复模式(AGX上有3个键,先按住中间键2秒,再按左键2秒,进入恢复模式)cd ~/nvidia/nvidia_sdk/JetPack_4.4.1_Linux_JETSON_AGX_XAVIER/Linux_for_Tegra/sudo ./flash.sh -r jetson-xavier mmcblk0p1注:JetPack_4.4.1_Linux_JETSON_AGX_XAVIER/Linux_for_Tegra/ 文件夹是ho
原创
发布博客 2021.05.06 ·
2350 阅读 ·
1 点赞 ·
0 评论 ·
12 收藏

py文件编译成so动态库

由于python设计的初衷是开源,因此py文件是可以直接看到源码的。但用在商业用途时,就需要对代码进行加密保护。本文使用Cython库将py文件编译成二进制so动态库,达到对python源码的保护。1. 安装Cythonpip install Cython2. 编译py文件生成so库Cython可以帮助程序带来性能的提升,主要原理是:先将py文件转换成c文件,再将c文件编译成so(Unix)或pyd(windows)。其带来的另一个好处是难以破解。from distutils.core impo
原创
发布博客 2021.04.20 ·
1105 阅读 ·
0 点赞 ·
1 评论 ·
3 收藏

AGX编译安装opencv和opencv-contrib模块(c++和python,支持GPU)

在AGX编译安装opencv-python及opencv-contrib-python有两个途径一、pip安装(以4.4.0.46版本为例)sudo pip3 install opencv-python==4.4.0.46sudo pip3 install opencv-contrib-python==4.4.0.46pip安装只适合python接口调用,若用c++接口,则需要源码编译安装。二、源码编译安装源码编译安装在终端输入cmake预编译指令,编译出来即可满足c++,python接口调用
原创
发布博客 2021.04.13 ·
1137 阅读 ·
0 点赞 ·
1 评论 ·
4 收藏

caffe源码学习——batch_norm_layer

BatchNorm是深度学习网络中必不可少的层,可以起到加速收敛的作用。由于每一个Batch的数据都具有不同的分布,为了加速模型的学习能力,对数据进行归一化。此外,由于又不能完全归一化,需要根据当前数据分布对数据进行缩放和偏移。因此,BatchNorm主要有两个步骤:求解数据的均值和方差,并归一化;对归一化的数据缩放和偏移。在caffe源码中,对BatchNorm也是分开描述的,步骤一体现在batch_norm_layer.cpp(.cu)中,步骤二体现在scale_layer.cpp(.cu)。
原创
发布博客 2021.03.18 ·
358 阅读 ·
2 点赞 ·
1 评论 ·
0 收藏
加载更多