自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鬼马行天的博客

知不足者,方知路远,知路远者,必勤慎独行。

  • 博客(54)
  • 资源 (14)
  • 收藏
  • 关注

原创 多智能体系统原理

多智能体系统(Multi-Agent Systems, MAS)的原理基于多个自主智能体(agents)的协作或竞争来解决复杂问题或完成任务。在多智能体系统中,每个智能体都有一定的感知能力,可以对环境进行感知,并且有能力自主地做出决策和执行动作。

2024-04-24 12:09:44 319

原创 System1和System2

System 1 和 System 2 是心理学家丹尼尔·卡尼曼(Daniel Kahneman)在其著作《快思慢想》(Thinking, Fast and Slow)中描述的两种思维模式。这两个系统代表我们大脑处理信息和做决策的不同方式。

2024-04-24 12:01:37 279

原创 如何理解自然语言处理中的位置编码(Positional Encoding)

位置编码在使用Transformer及其变体进行序列处理任务中是必不可少的,因为它们为模型提供了处理单词顺序的能力。通过有效的位置编码,Transformer能够在全局范围内理解输入序列的上下文,提高模型的性能和灵活性。

2024-04-23 16:50:42 424

原创 如何理解词嵌入(Word Embedding)

词嵌入是处理文本数据的一种强大工具,它使机器能够理解词和短语之间的关系,并有效地处理自然语言。

2024-04-23 16:43:13 115

原创 自注意力机制中的Query、Key、Value

自注意力机制中的查询(Query)、键(Key)和值(Value)是实现注意力计算的核心组件。这些组件帮助模型确定输入序列中的哪些部分应该获得更多关注。以下是一个通俗易懂的例子,帮助解释Query、Key和Value在自注意力机制中的作用。

2024-04-23 15:54:48 191

原创 自注意力机制和多头注意力机制之间的区别和联系(形象解释)

将自注意力机制想象为在宾客中寻找哪些人应该坐在一起的策略,而多头注意力机制则是使用多种策略同时进行,以确保从多个角度分析宾客之间的关系。最终,多头注意力机制提供了一种更为复杂和全面的方式来理解和安排每位宾客,以确保晚会的成功。

2024-04-23 15:48:05 152

原创 深度学习中几种常见函数介绍(SoftMax,ReLU,Sigmoid,Tanh)

Softmax函数将任意实数值的向量转换为相同维度的实数值向量,其中每个元素的值处于(0,1)区间内,并且所有元素的和为1。因此,Softmax输出可以被解释为一个概率分布。这些函数各有特点,选择哪种函数通常取决于具体问题的需求、网络架构和所需的数学特性。ReLU及其变体因其简单高效而广泛使用于各种网络的隐藏层,而Softmax、Sigmoid和Tanh则更多地用于输出层,以便于输出解释和概率估计。

2024-04-23 15:26:13 573

原创 深度学习和强化学习的区别

总的来说,深度学习专注于从大量数据中学习表征和模式,通常用于预测型任务;而强化学习关注于如何根据环境反馈进行最优决策,适用于需要连续决策的场景。这两种方法虽有不同,但在实际应用中经常被结合起来,以解决更复杂的问题。

2024-04-23 15:02:00 233

原创 MLP/CNN/RNN/Transformer主流深度学习模型的区别

MLP:最简单的前馈网络,不处理序列数据。CNN:通过局部感受野和参数共享,擅长处理图像。RNN:擅长处理序列数据,但难以捕捉长序列中的依赖关系。:利用自注意力机制高效处理序列数据,解决了RNN的长距离依赖问题,适用于需要复杂关系理解的任务。希望这些解释能帮助您更好地理解这些不同类型的神经网络及其适用场景。如果您有任何其他问题或需要更多帮助,请随时告诉我!

2024-04-19 11:14:39 475

原创 Neural Radiance Fields (NeRF) 和 3D Gaussian Splatting区别

和是两种用于3D场景重建和渲染的技术。它们都旨在创建高质量的3D图像,但它们的技术原理和应用场景有所不同。

2024-04-18 16:51:48 550

原创 3D Gaussian Splatting技术原理

是一种用于体积渲染的技术,特别适用于科学和医学可视化。这种技术使得用户能够以一种直观的方式查看和分析三维数据集,如医学成像数据(MRI、CT扫描)或科学模拟数据。

2024-04-18 16:47:44 311

原创 NLP——序列文本信息处理

通过上述步骤,序列文本信息不仅被转化为适合机器学习模型处理的形式,而且其内在的序列结构和语言特性也被有效地捕捉和保留。这些处理后的序列文本数据可以用于训练各种NLP模型,以完成诸如文本分类、情感分析、机器翻译、问答系统、语音识别后处理等各类任务。序列文本信息处理是指对那些具有明确词序或结构顺序(如句子、段落、篇章等)的文本数据进行专门的分析和转换,以保留并利用其内在的时序或逻辑关系。

2024-04-18 16:18:59 528

原创 Nerf技术原理

Neural Radiance Fields (NeRF) 中的多层感知机(MLP)是核心组件,用于从给定的3D坐标和视线方向预测场景中该点的颜色和体积密度。NeRF的MLP通常是相对简单的全连接网络架构,其设计旨在通过连续函数对3D场景进行编码。这一技术基于深度学习,通过训练一个神经网络来模拟场景的体积密度和颜色分布,实现在新的视角下渲染出高质量的3D图像。NeRF的核心在于使用一个全连接的神经网络(通常是多层感知机,MLP)来表示一个连续的体积场,这个体积场可以对每个空间位置的颜色和密度进行编码。

2024-04-18 16:07:58 169

原创 NLP 文本表征方式

综上所述,文本在NLP中可以通过多种方式进行表征,从简单的离散表示(如One-hot编码)到复杂的分布式表示(如词向量、上下文相关的词向量),再到基于统计和概率模型的主题表示。TF-IDF:给每个词赋予一个权值,该权值结合了词在文档中的出现频率(Term Frequency, TF)和在整个语料库中的逆文档频率(Inverse Document Frequency, IDF),以突出文档中具有代表性的词语。FastText:在词向量的基础上,考虑了子词信息,特别适用于处理形态丰富的语言或未见词汇。

2024-04-18 15:53:00 365

原创 神经网络中正则化和正则化率的含义

正则化通过在损失函数中添加一个额外的项来惩罚模型的复杂度,从而鼓励模型学习更加简单、更加泛化的特征。正则化率(Regularization Rate),也称为正则化参数或权重衰减,是正则化项前的系数,用于控制正则化项的强度。因此,正则化率的选择通常需要通过交叉验证等技术来进行调整,以便找到最佳的模型复杂度和泛化能力之间的平衡。如果正则化率过小,模型可能会过于复杂,导致过拟合,即模型在训练集上的误差很小,但在新数据上的误差较大。如果正则化率过大,模型可能会过于简单,导致欠拟合,即模型在训练集上的误差也较大。

2024-04-18 11:10:46 340

原创 通俗解释卷积神经网络(CNN)或循环神经网络(RNN)的技术原理

当你听到新的句子或单词时,你的大脑会更新它的记忆,并将这个记忆用于理解接下来的内容。这就像是CNN中的卷积层,它使用一系列的“过滤器”(或称为“核”)来识别图像中的局部特征,比如边缘、颜色和纹理。CNN中的池化层就是做这个工作的,它减小数据的空间大小,但保留最重要的特征。长期和短期记忆:有时,你需要记住故事中的某些关键情节(长期记忆),同时也要注意最近发生的事情(短期记忆)。CNN 是一种特别适合处理图像数据的神经网络,它通过卷积层来识别图像的局部特征,并通过池化层和全连接层来进行分类或回归任务。

2024-04-18 11:07:09 540 3

原创 Vulkan和OpenGL比较

在Vulkan中,管线的各个阶段(如顶点着色器、片段着色器、光栅化等)需要在创建时明确指定,而在OpenGL中,管线的许多阶段可以通过即时模式函数在运行时动态设置。总的来说,Vulkan 提供了更低的抽象级别和更高的性能,但要求开发者有更高的专业知识和更多的管理责任。Vulkan 是为了提供更好的性能和更低的驱动程序开销而设计的,它假设程序员对图形硬件的行为有深入的了解。Vulkan 要求开发者显式创建和销毁资源,包括内存管理,这提供了更大的控制权,但也增加了复杂性。

2024-04-15 11:30:13 461

原创 时空大数据引擎-GeoMesa

GeoMesa是一个开源的地理空间分布式数据库解决方案,它提供了在Apache Hadoop、Apache HBase、Apache Cassandra、Google Bigtable、Amazon DynamoDB和Cloud Bigtable等大数据平台上存储、索引和查询大规模地理空间数据的能力。GeoMesa提供了一个强大的工具集来帮助开发者和数据科学家存储、查询和分析大规模的时空数据集,它通过利用现代大数据技术解决了传统GIS系统在处理大规模数据时的瓶颈。社交媒体数据的地理空间分析。

2024-04-12 10:00:13 390

原创 常见交通微观指标的中英文对照表

行程时间可靠性 - Travel Time Reliability。平均旅行速度 - Average Travel Speed。碰撞次数 - Number of Collisions。停车次数 - Number of Stops。截面流量 - Section Flow。队列长度 - Queue Length。转向流量 - Turning Flow。车流量 - Vehicle Flow。通行时间 - Travel Time。占有率 - Occupancy。排放量 - Emissions。

2024-04-11 18:31:43 128

原创 Vulkan入门

在深入Vulkan之前,确保你已经具备以下基础:

2024-04-07 09:28:01 312

原创 UE4.26垃圾回收机制初探(二)

上一篇: 《UE4.26垃圾回收机制初探(一)》1.再探GUObjectArray  上一篇我们找到了UE4.26垃圾回收机制中一个很重要的管理队列GUObjectArray(严格地说是一个<Index,Object>对应表)。我们解决了第一个问题:UOBject是如何被引擎添加到管理队列里的。接下来我想探究具体的回收机制,希望能够解决后面的几个问题。  我查了一下GUObjectArray的被引用情况,非常多,可以说大部分与垃圾回收有关的内容都与其有关。在这里我只是想解决一下后面的三个疑

2021-06-30 18:45:43 793 1

原创 UE4.26垃圾回收机制初探(一)

1.探究初衷  最近在研究UE4引擎,不可避免的遇到垃圾回收机制的学习,在网上看了一堆的介绍之后,依旧云里雾里。主要的疑惑有以下几个:都说UObject会自动回收,可是我们创建的UOBject是如何被引擎添加到管理队列里的;UObject是在何时进行回收的;AddToRoot为何能保证UObject不被自动回收;MarkPendingKill函数又干了什么可以让UObject销毁。2.探究历程  我刚开始猜想应该是在NewObject的过程中进行了某些操作,所以进去看了下,为了方便阅读,直

2021-06-30 17:14:04 664 1

原创 QML WebEngineView加载地图卡顿的原因

最近使用QML的WebEngineView加载地图的时候发现,地图操作非常卡顿,排查的时候发现,是因为主界面上的一个动画(Animation),把动画关掉以后,操作地图就非常流畅了。这块的资料有点少,并不知道为啥,应该是个不bug?权当是给有同样问题的同学提供一个思路吧。...

2019-10-12 11:02:27 1225 1

原创 Linux C++网络编程实例分享——有关结构体、字节对齐、大小端字节序

1.项目背景我需要通过UDP接收GPS设备的位置信息,厂家定义的数据包结构大致如下:数据包头:描述字节数命令标志2版本号2数据体大小4数据体:描述字段类型数据长度设备编号unsigned char10设备类型unsigned char1经度double8纬度doube8设备编号:不足

2019-08-23 13:32:01 875 1

原创 数据结构与算法学习整理(一):二叉树

二叉树分类满二叉树:所有节点都有左子树和右子树,且叶子节点都在同一层上;完全二叉树:若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。四种遍历方式  以下图说明几种不同遍历方式的输出:(1)前序遍历  从根节点出发,先左子树遍历后右子树遍历的方式,第一次遇到的节点数据就输出: ABDECF...

2019-07-12 10:51:41 178

原创 Tensorflow学习过程问题整理(TensorFlow版本:1.13.1,Python版本:3.6)

1.代码错误整理(1)Spyder中Python代码运行出错错误信息:Check failed: PyBfloat16_Type.tp_base != nullptr,原因:numpy版本问题解决方法:python -m pip install --upgrade numpy(2)使用keras下载fashion_mnist出错错误原因:无法连接外网,下载不了解决办法:下载数据集到C...

2019-06-18 17:24:49 7782

原创 C++和QML之间传输JSON字符串并解析(适用于传数组或其他复杂参数)

  QJsonObject转为QString,发送带此QString的信号,QML中接收到信号后直接用JSON进行解析(QML支持Javascript,自然也支持相应的json解析)。同理,可以在QML中将javascript对象先转换成json字符串,然后传给C++进行解析。这种方法可以用来传输比较复杂的数组参数,之前都是用的QVariantList和QVariantMap,感觉好不方便,所以在...

2019-06-14 15:28:30 5784 1

原创 QML复杂界面下的按键消息处理——解决焦点丢失按键不响应问题

  在界面结构比较复杂的情况下,经常会出现按键消息不响应的问题,这里给出一个我的解决方案,首先,我们确定好接收按键消息的对象,比如下面的rootRect。  rootRect接收到按键消息后将其转发给需要处理该按键消息的对象,该例中按键消息传递给了targetPage。Rectangle { id: rootRect color: "#00000000" ...

2019-06-13 16:14:18 3129

原创 OpenLayers5在EPSG:4326下以m为单位画圆

var circleIn3857 = new Circle(transform([121.4659, 31.2], 'EPSG:4326', 'EPSG:3857'), 1000,'XY');var circleIn4326 = circleIn3857.transform('EPSG:3857','EPSG:4326');

2018-12-26 15:28:11 2086 3

原创 OpenLayers5在EPSG:4326投影坐标系下测量长度和面积

ol/sphere里有getLength()和getArea()可以用来测量距离和区域面积,默认的投影坐标系是EPSG:3857, 其中有个options的参数,可以设置投影坐标系。使用时, 可以先把几何图形转换成‘EPSG:3857 ’的投影方式,然后再使用getLength和getArea。也可以设置options参数,下面是代码://地图使用的是EPSG:4326投影坐标系/** * ...

2018-12-25 10:38:39 4007 1

原创 Qt(5.10)连接MySQL(8.0.x)数据库驱动加载不成功

报错是这样的:QSqlDatabase: MYSQL driver not loadedQSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7  这种情况说明程序是可以找到驱动的,但是驱动加载不成功,所以网上大家说的比较多的是驱动不匹配,可参见这篇文章https://blog.csdn...

2018-12-19 15:40:07 1961 3

原创 使用OpenLayers加载离线地图瓦片(天地图标准TMS格式)

地图资源的获取  关于地图资源的获取,这个可以用一些常见的地图下载器进行下载,然后将地图数据导出为需要格式的瓦片,我这里使用的是太乐地图下载器,下载的是上海市地图(2-18级),导出为标准的TMS瓦片,文导出的文件是这样的,数字代表层级,每个文件夹下都是X方向的瓦片文件夹,每个X方向的瓦片文件夹下是Y方向的瓦片。OpenLayers的获取和测试环境  可以在OpenLayers官网上下载需...

2018-12-07 17:15:04 9121 15

原创 使用GDAL对超过2G的大型图片进行分割

问题背景  之前给公司的建模师做过一个切图的小工具,主要功能就是将一张大图切成nn份,每份的像素大小为wh的图像,刚开始是简单地用Qt的QPixmap做的,基本上一两行代码就可以实现。但是后面建模师在切一张3个G大的图片的时候,这个工具就没用了,定位了下问题,QPixmap无法加载超过2G的图片,遂卒。解决方案  后面就找到了GDAL库,过程中参考了两篇博客GDAL关于读写图像的简明总结和使...

2018-12-07 15:09:09 2625 1

原创 基于QtWebEngine的程序编译发布程序注意点

  我用的是Qt5.10.1的MSVC2015-64bit版本,程序使用了QtWebEngine库。将程序打包发布后发现打不开程序,看报错是因为QtWebEngine有问题,经过各种研究网上和官方资料后,终于解决,下面是操作:(1)将Qt5.10.1\5.10.1\msvc2015\bin中的Qt5WebChannel.dll、Qt5WebEngine.dll、Qt5WebEngineCore....

2018-11-16 15:51:58 3405

原创 使用Windows API向指定窗口发送模拟鼠标及键盘消息

  之前做过类似于远程桌面的功能,当时也用到了Windows API,只不过当时是针对全局的,适用于整个系统,用的是mouse_event。最近要做一个控制某个特定窗口的功能,需要将一些鼠标和键盘控制消息映射到对应的窗口上,再用这个就不行了。之后查了下,应该是可以用SendMessage或者PostMessage来做的,但使用的过程中遇到了一些问题,解决之后记录下来给有需要的同学参考。  其实使...

2018-11-16 10:18:02 29125 2

原创 QML中调用C++耗时操作造成阻塞的解决办法

  在QML中经常会调用用C++写的比较耗时的操作时,一般会造成界面的卡死。刚开始的时候是想着是不是可以在QML中开辟新线程,一查还真有,WorkerScript。但这玩意儿有点坑的是你不能访问其他对象的属性、方法,官方原文是这样写的:  Since the WorkerScript.onMessage() function is run in a separate thread, the Ja...

2018-11-14 12:26:29 2766

原创 Qt里控件自绘的那点事

前言  最近一直在做控件自绘方面的事情,自己设计了一些控件和界面,下面把过程当中的经验记录下来。  现在写界面的话,一种是用C++,一种是用QML,这两种都有用过,所以一并写出来。QWidget中的自绘  在QWidget中做自绘一般就是重写void paintEvent(QPaintEvent * event)函数,然后在这个函数里利用QPainter类进行绘制,在这里提供一段代码:v...

2018-11-14 11:10:21 5564 1

原创 Qt的QTimer在多线程下的操作

Qt的QTimer在多线程下的操作  之前使用Qt的QTimer类主要是用timeout信号来触发执行比较密集的操作,还不会像while(1)那样造成阻塞,所以一直用也没深究太多。最近使用时,却遇到了一个比较头疼的问题;  执行比较密集的操作我一般都是放到一个单独的线程里去跑的,将工作对象moveToThread转到单独的线程,启动工作对象中的计时器,之后就可以跑了,也没考虑到停止的问题。但这...

2018-11-02 12:17:14 7591

原创 关于UDP接收数据:使用boost asio库和使用Qt网络库的比较

使用boost asio库和使用Qt网络库进行UDP数据接收前面的话  之前在进行网络编程时使用的比较多的是Qt的网络库,大部分会使用UDP协议进行传输,刚开始时对性能的要求不高,1s内也就接收50次左右,所以使用时没有出现什么异常。最近做的项目要求达到1s内500次以上的接收频次,此时使用Qt的QUdpSocket进行接收时发现接收过程中会存在大量的丢包现象,刚开始时以为这是UDP传输的正常...

2018-11-02 11:56:33 2908

原创 MySQL远程登录及数据库性能调优

之前整理过一篇Qt下数据库编程基础 :最近在进行单元测试,所以把遇到的一些问题整理出来,主要是关于数据库的1.远程连接数据库连接语句是:mysql -h 192.168.xx.xx(IP地址) -P 3306(端口) -u remoteuser(登录用户名) -p(按回车输入密码)。在连接之前首先要在远端配置一下,我使用的是添加授权用户的方法:下面是允许任意ip地址进行连接,用户名:re...

2018-09-30 12:30:43 803

怪兽FBX模型.zip

用于测试的FBX模型

2021-02-07

Linux c++ UDP接收结构体数据实例.rar

一个简单的C++ UDP接收结构体数据的例子,包含大小端转换说明,博客https://blog.csdn.net/guimaxingtian/article/details/100030614中的最终代码

2019-08-23

Qt调用海康SDK实现摄像头视频播放

默认的例程中不含Qt的例子,所以自己写了一个在Qt下调用海康SDK接口实现网络摄像头视频播放的例程。

2018-06-26

基于Qt的时间轴编辑器

基于Qt的时间轴编辑器,从网上看到的,觉得很好,分享出来,可以参考一下里面的时间轴自绘

2018-05-25

QT 图片三维立体滑动效果

qt实现的pictureflow, 可以实现一类似手机上的滑动效果的功能,支持投影及三维旋转。在此基础上做了修改,可以实现背景透明,效果很酷炫。

2018-05-24

QT下使用的Protobuf(Protocol Buffer)动态链接库

由于默认的ProtocolBuf在windows下生成的是静态链接库,在官方下载的动态编译的QT下无法使用,所以自己编译了动态链接库的版本。

2018-05-16

基于QT和windows api实现的远程桌面控制(包括客户端和服务端)

基于QT和windows api实现的远程桌面控制(包括客户端和服务端),使用vlc-qt进行屏幕画面数据的传输和显示

2018-05-11

live555编译工程完整版

live555是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输是一个为流媒体提供解决方案的跨平台的C++开源项目。这里提供了编译最新的live555的完整版工程。

2018-05-08

C++标准程序库 The C++ Standard Library(侯捷译)

STL是Standard Template Library的简称,中文名标准模板库,惠普实验室开发的一系列软件的统称。本资源是对C++ STL的介绍。

2018-04-18

QT下多线程 UDP socket示例

使用QT写的一个UDP服务器的小例子,使用定时器进行触发发送信号,独立线程运行,不会影响主界面的正常运行。

2018-04-18

第12章Qt5多线程

Qt是诺基亚公司的C++可视化开发平台,目前最新版本为Qt 5。本书以Qt 5作为平台,每个章节在简单介绍开发环境的基础上,用一个小实例,介绍Qt 5应用程序开发各个方面,然后系统介绍Qt 5应用程序的开发技术,一般均通过实例介绍和讲解内容。最后通过三个大实例,系统介绍Qt 5综合应用开发。光盘中包含本书教学课件和书中所有实例源代码及其相关文件。通过学习本书,结合实例上机练习,一般能够在比较短的时间内掌握Qt 5应用技术。本书既可作为Qt 5的学习和参考用书,也可作为大学教材或Qt 5培训用书。

2018-04-12

openscenegraph3.2示例

openscenegraph3.2的示例代码,很好的学习资料 OpenSceneGraph是一个开源的三维引擎,被广泛的应用在可视化仿真、游戏、虚拟现实、科学计算、三维重建、地理信息、太空探索、石油矿产等领域。OSG采用标准C++和OpenGL编写而成,可运行在所有的Windows平台、OSX、GNU/Linux、IRIX、Solaris、HP-Ux、AIX、Android和FreeBSD 操作系统。OSG在各个行业均有着丰富的扩展,能够与使用OpenGL书写的引擎无缝的结合,使用国际上最先进的图形渲染技术,让每个用户都能站在巨人的肩上。

2018-04-12

高级C++编程英文原版

很好的c++编程书籍,英文原版,讲解很透彻 This book is a practical, code-intensive guide to designing and building C++ applications, fully updated for the C++14 release. The lessons emphasize good programming style, and how to think in C++ to design effective solutions that maximize the language’s capabilities. Drill down into the language to understand the more complex elements of the feature set, and learn the tricks and techniques that steer you away from common pitfalls. The new C++14 information is highlighted for quick reference, helping you get up to speed on the major changes that impact application building.

2018-04-10

qt用户界面设计

qt的界面设计相关,图形用户界面(Graphical User Interface)是指采用图形方式显示的计算机操作用户界面对比:早期的操作系统,如DOS,CUI(Command line User Interface)命令行模式的人机接口 组成部分:桌面、视窗、菜单、按钮、图标等 Qt是跨平台的C++应用程序和UI开发的框架 Qt4有超过500个类和9000多个函数,使用Qt可以迅速开发出期望的应用程序

2018-03-04

空空如也

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

TA关注的人

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