自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++ linux通过实现独立进程之间的通信和传递字符串 demo

函数打开命名管道,并以只写模式打开。然后,我们将字符串 "Hello, parent!" 写入管道中,并使用。要通过信号实现独立进程之间的通信和传递字符串,可以使用命名管道(Named Pipe)来实现。函数打开命名管道,并以只读模式打开。最后,我们打印出从子进程接收到的字符串,并使用。定义中指定为 "/tmp/my_pipe"。函数从管道中读取字符串,并将其存储在缓冲区。函数创建了一个命名管道。在上面的示例中,我们首先使用。在子进程中,我们使用。在父进程中,我们使用。

2024-07-23 19:54:25 242

原创 c++跨平台编译宏区分的两种办法

跨平台编译宏的两种方式

2024-06-28 17:15:51 399

原创 glxinfo报错:Error: unable to open display :10

【代码】glxinfo报错:Error: unable to open display :10。

2024-06-11 19:55:53 462

原创 记录:linux桌面管理基础-X11协议(X window system)

X11是X协议,版本号为11。X协议是专门被设计为linux桌面管理服务的,而linux桌面环境不像windows那样作为系统内核的一部分,作为一个普通程序运行在用户态上。该协议的设计初衷是为了linux的图形界面满足跨平台、跨网络、与具体硬件剥离、同时被多个用户使用的需求,因此该协议被设计成客户端-服务器的模式,即由xserver和xclient组成,xserver和xclient通过网络架构来进行图形接口的通信和执行绘制

2024-06-05 20:48:10 2617

转载 c++程序的编码与字符集的转换(windows/linux)

运行环境编码指的是,执行程序时,操作系统或终端所使用的编码。程序中输出的字符最终要转换为运行环境编码才能显示,否则就会出现乱码。源程序编译后,c++中的字符串常量变成一串字节存放在可执行文件中,内码指的是在可执行文件中,字符串以什么编码进行存放。程序源文件编码是指保存程序源文件内容所使用的编码方案,该编码方案可在保存文件的时候自定义。(可以通过在程序中打印字符串中每个字节的16进制形式来判断程序使用的内码)。所以不特别指定的话,在windows环境下,c++源文件的编码通常为。的c++程序内码,默认使用。

2024-04-07 13:52:23 361

原创 通过位运算集成各子模块

在很多场景中会有很多模块供不同业务方调用(比如各AI功能算法),比如有A、B、C、D四个子模块供4个业务方调用,业务方1需要这四个功能即A+B+C+D,业务方2需要前面三个功能即A+B+C,业务方3只需要A一个功能,业务方4只需要B一个功能。如果给每个业务方分别开一个接口,那么势必会增加代码的重复率,所以最好都使用同一个接口。

2024-03-18 12:03:05 205

原创 算法耗时通用优化技巧 总结

最近在部署AI相关的算法,并要求减少总耗时,从中总结出的一些比较通用的优化技巧。精髓总结一句话就是:在同一时间尽可能充分利用硬件资源。而怎么尽可能充分利用呢,方式就是多线程并行处理。

2024-03-11 19:36:59 406

原创 几个环境下的cuda版本

最近在搭建mmdetection3d环境的时候,报了一个cuda相关的错误"CUDA Toolkit 10.2 is unsupported by Numba - 11.2 is the minimum required version",但是我本地安装的cuda版本是11.3,按道理说不会出现检测到10.2的版本。后来弄懂了,原因是讲cuda版本是要分几个环境的。这个相似的问题包括torch.version.cuda版本与本地安装的cuda版本不一致。

2023-10-17 18:13:16 657

原创 用C++或者Python解析gltf文件

gltf是类似于stl、obj、ply等常见的3D对象存储格式,它被设计出来是为了便于渲染的数据转换和传输。如果你的浏览器可以连接外网,可以通过。网址打开浏览gltf的3D对象。这里介绍两种语言下从gltf拿到网格的顶点和面片数据。

2023-09-15 16:29:49 871

原创 解决 win10开机黑屏

步骤四:最后,在任务管理器中点击左上角的“文件”选项,再点击“运行新任务”。在运行窗口中输入“explorer.exe”,并点击“确定”,就可以重新开启桌面进程了。步骤三:在任务管理器中,找到“进程”选项卡。如果需要重启的是“资源管理器”进程,则在列表中选择“Windows资源管理器”。右键单击该进程,并选择“结束任务”。我的具体问题是:开机后其他功能是正常的,只是没有桌面,这个时候只需要手动启动桌面进程即可。步骤二:在安全选项页面,点击“任务管理器”,打开任务管理器。

2023-09-08 09:12:38 219

原创 git push报403错误

最近在gitlab推送的时候(git pull也会),报了403的错误:The requested RUL returned error: 403。同事说是服务器禁止了http源,需要切换源

2023-07-07 17:01:02 1217

原创 解决vs打开dmp没有堆栈信息

代码崩溃定位崩溃的地方,但是用vs打开dmp点击“使用 仅限本机 进行调试”之后没有调用堆栈,在调用堆栈栏只有提示“[可能缺少框架,没有为***.exe加载二进制文件]”。

2023-04-28 14:36:25 1519

原创 CUDA编程模型与GPU硬件结构关系

这篇文章循序渐进主要解决以下疑问:1、CUDA编程模型为什么要这么设计?2、CUDA编程模型与GPU硬件结构的关系?

2023-02-08 20:16:26 745

原创 bug解决:cl.exe is not able to compile a simple test program & 无法打开文件“kernel32.lib“

最近在win10系统上编译阿里的MNN库,工程的编译配置为Cmake+Ninja+VS2017,在powershell里面输入"./schema/generate.ps1"时输出 cl.exe is not able to compile a simple test program

2023-01-13 14:32:07 1154

原创 一文搞清楚opengl、openglES、GLEW、的关系GLUT、FreeGLUT、GLFW

简要来说,opengl、openglES、GLEW这三个都是一个图形库,可以理解为是在显卡驱动上给渲染用户一个统一的API;而GLUT、FreeGLUT、GLFW这三个是用于图形开发的辅助工具库,主要用于创建和管理OpenGL环境、操作窗口等。

2022-09-28 13:27:13 3514

原创 深度学习的简单原理(最适合初学者)

笔者写这篇文章的初衷是帮助即将入门深度学习的亲们,笔者在这个行业混了也小有几年了,希望从几年从业者的角度给新人们发表一下自己的理解,这些理解都是从最简单的原理出发。

2022-03-27 14:45:54 7688

原创 Ubuntu安装配置ftp服务器

1)安装ftp服务器sudo apt install install vsftpd ftp2)配置文件使远程可读写sudo vim vim /etc/vsftpd.conf添加:write_enable=YESutf8_filesystem=YES3)重启ftp服务器systemctl restart vsftpd

2022-03-11 15:53:08 1712

原创 ubuntu远程桌面win10,ubuntu远程桌面ubuntu,win10远程桌面ubuntu(亲测有效)

想要知道怎么远程的,首先得要了解两种远程桌面协议(如果不想了解的,可以直接跳过第一节)。一、远程桌面协议目前主流的实现远程桌面连接的有两种协议:远程帧缓存协议(RFB:Remote Frame Buffer)、远程显示协议(RDP:Remote Display Protocol )。RFB:这个协议实现起来比较简单,传输的主要是桌面的帧缓存信息,基本上支持所有的窗口系统,如果想要详细了解的可以看这篇文章:RFB协议解析_卡索-CSDN博客_rfb协议。目前主要针对这个协议采用的服务是VN

2022-03-11 15:32:07 8474 1

原创 程序“编译/运行“错误分析原理

本篇文章从宏观上能让你学会这样一些大致原理:操作系统架构、程序从编写到编译运行经历的过程、可执行文件内容;并且能解决你这样一些疑问:为什么应用程序不能兼容运行在不同的操作系统上?安卓手机上的应用程序为什么就不能在同是linux内核的pc端上跑?为什么有些程序编译的时候对编译器版本有要求?为什么操作系统升级之后某些库或者应用就用不了了呢?不同种类的编译器编译出的二进制库可以相互链接吗?;最重要的是能让你学会分析解决程序从编写到编译运行过程中遇到的绝大多数问题。一、操作系统架构操作系统架...

2021-11-15 20:55:23 861

原创 分类中交叉熵损失函数的推导

一般我们在做分类任务中会在模型的最后加入一层softmax去预测样本对于每个类别的概率,然后通过交叉熵损失函数去计算loss,但是交叉熵损失函数为什么能让模型work呢?为什么计算交叉熵损失函数时要把样本标签变成一个one-hot向量呢?下面我们就来讨论一下。 首先我们来描述一下问题:表示真实分布中N个样本,表示其中的一个随机变量,表示随机变量的类别标签,M表示总共有M个类别,求新采样的样本属于哪一个类别? 对于这个分类问题,我们一般希望构建一个概率模型...

2021-10-24 23:16:28 1968

原创 C++ DLL的生成与调用

一、制作DLL库1、构建visual studio工程可以直接打开vs构建DLL工程,方法如下:New --> Project --> Dynamic-Link Library(DLL) --> 取名,选路径 --> OK另外一种方法就是通过cmake构建(建议大家掌握cmake构建工程,这对于跨平台编译来说非常有用),首先建立好源文件myDll.hpp、myDll.cpp,然后建立CMakeLists.txt文件并编写:# CM...

2021-10-21 11:19:02 2611

原创 计算定点到曲线上最近的点

如图所示要求曲线f(x)上距离定点A最近的点,假设这个最近点为B点,先说结论(如果对推导不敢兴趣的就不用往下看了):其中Dx、Dy为如下方程组的解:下面我们来推导这个公式,如上图所示,很容易推导出,且,所以。因此得到如下关系:由于B点在曲线上,所以有:联立上面的公式就可以推导出我们的结论了。...

2021-10-20 20:02:10 1950 4

原创 论文解读PointNet(用于点云处理的深度学习框架)

点云在3D几何表示中作为一种非常重要的数据格式,

2021-10-09 17:04:58 4384

原创 论文解读PCT: Point Cloud Transformer(用于点云处理的Transformer)

最近几年transformer越来越火,在NLP、CV等领域都取得了很大的成功。这篇文章作者利用了transformer能够处理无序数据的特点,将transformer应用到点云的处理上。它的想法是基于最原始的transformer那篇文章(Attention Is All Your Need),关于那篇文章的解读可以参考:庖丁解牛Transformer原理。 论文的整体架构如下图所示,首先左边是一个encoder结构,右边是一个decoder。对于encoder点云数据先...

2021-10-01 23:19:22 5169 2

原创 庖丁解牛Transformer原理

近年来Transformer不管是在NLP、CV、推荐等领域都有比较大的应用,短短4年左右的时间Attention Is All You Need 文章的引用量接近3万,其实Transformer原先是解决在sequence2sequeence任务中RNN的并行性差、CNN远距离依赖性弱的问题,本文主要从这篇文章出发解读Transformer的原理、作者为什么要这么设计网络结构。一、网络整体架构 首先认识一下它的网络架构,然后再对它庖丁解牛。如图1所示,它是...

2021-09-29 15:52:28 745

原创 还不知道IEEE、ACM、SCI、EI、nature、期刊、会议论文之间的关系?一幅关系图搞定~

如上图展示了出版社、期刊、会议论文、第三方论文收集数据库之间的关系,首先可以把出版社理解成一个很大的容器,它平时不只是刊印出版物,还下辖了很多各行各业的论文评审团和学术机构,论文评审团主要是行业专家对每期收到的论文进行评审,如果论文通过评审则在相应期刊对应时期出版,学术机构一般是组织各种学术交流会议,这样会产生很多会议论文,比较出名的出版社有IEEE,ACM;然后为了便于各行各业的研究人员能检索到这些优秀的论文,会有第三方专门将这些优秀的期刊和会议论文收录进数据库,比较出名的数据库有:Science、n..

2021-09-18 14:27:43 4224

转载 深度学习反向传播算法

本文转载至  https://blog.csdn.net/sunpeng19960715/article/details/52639478?utm_source=blogxgwz1反向传播算法一、简介反向传播算法(Backpropagation)是目前用来训练人工神经网络(Artificial Neural Network,ANN)的最常用且最有效的算法。·其主要思想是:将训练...

2018-10-24 20:28:04 1398

转载 【机器学习】softmax函数

2017年05月25日 21:13:16阅读数:8672转载至 https://blog.csdn.net/haolexiao/article/details/72757796原本以为softmax函数求导没啥难度的,结果自己写CNN的时候,梯度算的一直不对,查了半天才发现是因为softmax求导没求对。索性就开一篇Blog把softmax相关的都给记录一下。softmax的定义...

2018-10-24 20:25:16 505

原创 浅析Java语言与C++语言的区别

1.    java中类继承,如果父类方法要重写,不用加任何关键字;而C++却要加 virtual 关键字。2.    Java中,super可以表示父类,this表示类本身。3.    C++的类可以多继承,即一个类有多个父类;而java只能单继承,即一个类只能由一个父类继承。4.    C++类继承采用符号“:”,而java类继承采用关键字“extends”。5.    C++

2017-11-21 16:44:57 3281

原创 空间两条直线的最短距离及最近点计算

直线的信息可以以两个端点的形式给出,也可以以一个直线上的点和直线的方向向量给出。本文中假设这两条直线不共线,即这两条直线既不重合也不相交。1.如果这两条直线是以两个端点的形式给出,那么假设直线l0的两端点为:P0、P1;直线l1的两端点为Q0、Q1,;求两直线的最短距离?直线l0我们可以用方程表示为:        (1)直线段l1我们也可以用方程表示为:           

2017-11-19 21:49:11 20709 4

原创 空间两条直线段的最短距离及最近点计算

假设直线段l0的两端点为:P0、P1;直线段l1的两端点为Q0、Q1,;求两直线段的最短距离?直线段l0我们可以用方程表示为:        (1)直线段l1我们也可以用方程表示为:            (2)式中,P、Q分别表示两直线段上的点。那么点P和点Q的距离为:(3)我们将(3)式等式两边平方得到:               (4)那么求解这两条

2017-11-19 20:49:26 5075 2

原创 点到平面的距离计算

在工程计算过程中,往往要求我们计算点到平面的距离,特别是在计算机图形学中的运用最多。如图1所示,已知一个平面Plan的方向n和该平面上的顶点B,求空间中某一个顶点P到该平面的距离。假设点P在平面Plan上的投影点为P1,那么我们知道proj(P1P)便是点P到该平面的距离。如果我们连接点P和点B,其实会发现,proj(P1P)就是向量BP在该平面法矢上的投影。图1所以会有:

2017-11-19 11:10:19 13445 11

转载 DOS 命令大全

本文转载自:https://zhidao.baidu.com/question/59940919.html一、基础命令 1 dir 无参数:查看当前所在目录的文件和文件夹。 /s:查看当前目录已经其所有子目录的文件和文件夹。 /a:查看包括隐含文件的所有文件。 /ah:只显示出隐含文件。 /w:以紧凑方式(一行显示5个文件)显示文件和文件夹。 /p:以分页方式(显示一页之后会自动暂停)显示。

2017-11-18 21:12:03 215

转载 windows下schtasks的DOS命令的使用

来自:http://hi.baidu.com/nxhujiee/item/b54764ad6486f59f151073d1描述:    允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任务。替代 AT.exe。参数列表:    /Create         创建新计划任务。    /Delete         删除计划任务。    /Q

2017-11-18 20:59:06 1093

转载 计算机的启动

寒假回来就要开始执行新年的计划了~首先是每周的一篇blog。今天看了阮一峰最新的一篇博客计算机是如何启动的,感觉写得很好,又清楚又简单。虽然自己关于计算机启动这个过程从大三OS课的时候就陆陆续续地一直有了解,但是都没有一个系统的了解,或者了解了又忘了,希望通过这次记录把这点彻底弄清楚来并且记在脑子里。另外在评论中有另外一个小哥大磊把他的博客也贴出来了,写得很详细,作为阮一峰的补充吧。

2017-11-18 18:13:21 239

原创 C++编写任意次clampedB样条曲线(曲线分别与第一个控制点和最后一个控制点的第一边和最后一边相切)

我们知道,B样条曲线根据其起始点与控制点的关系可分为:openB样条曲线,clampedB样条曲线,closedB样条曲线。OpenB样条曲线不会与第一个控制点和最后一个控制点的第一条边和最后一条边相切,closedB样条曲线首尾相连,一般工程运用中,更多的是我们希望B样条曲线的起始点分别于第一个控制点和最后一个控制点的第一条边和最后一条边相切,这种B样条就是clampedB样条。本文中,生成

2017-11-18 10:20:42 2570 1

原创 C++对文件进行读写操作

1、 定义数据流对象指针对文件进行读写操作首先必须要定义一个数据流对象指针,数据流对象指针有三种类型,它们分别是:Ifstream:表示读取文件流,使用的时候必须包含头文件“ifstream”;Ofstream:表示文件写入流,使用的时候必须包含头文件“ofstream”;Fstream:表示文件读取/写入流,使用的时候必须包含头文件“fstream”;2、 打开文件打开文

2017-11-17 16:53:13 55843 5

原创 VS版Eigen库求解大型稀疏线性方程组

众所周知,为了减小稀疏矩阵的存储内存,稀疏矩阵有专门的存储办法。但是怎么求解诸如 Ax=b(这里矩阵A为稀疏矩阵,假设x为列向量,b也为列向量)这样的方程组呢?求解这样的方程组分为两个步骤,一个是对稀疏矩阵A赋值,一个是用solve求解器求解方程组。#include "stdafx.h"#include//包含稀疏矩阵求解;#include#include#include//调用sle

2017-11-17 12:01:55 5619 2

原创 VS中MFC中的文件不能运行

在MFC编程中,我们可能会遇到过这样的问题,文件不能执行,如果打开文件夹会出现如下图的情况:图1  解决办法是:首先鼠标右击该文件夹,选择“包括在项目中”如图2所示,问题就这样解决啦,如图3所示。图2图3

2017-11-16 22:00:36 1419

原创 vs2013版MFC按钮点击无反应,执行不到相应的事件处理程序

大家在使用MFc编程的时候,可能会遇到:点击添加的按钮无反应,或者执行不到相应的事件处理程序。以笔者的经验来看,出现这种问题多半是由于该按钮的底层属性值错误,或者该按钮的ID号与相应的ID值不对应造成的。下面笔者举个简单的例子,来说明这些问题。

2017-11-16 17:44:03 15822 3

空空如也

空空如也

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

TA关注的人

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