学习记录
文章平均质量分 68
weixin_43409627
立志做一个像我一样优秀的机器人
展开
-
机器人地面站-[QGroundControl源码解析]-[1]
项目中要使用QGC,还要做一些更改,感觉Qgc源码很多,又是一个开源项目,对于qt开发项目经验不足的我们来说实在是一个不可多得学习资料,所以决定花一些时间对源码进行注释和解读,这样也能更好的利用到项目中去。原创 2022-09-16 19:50:18 · 2067 阅读 · 0 评论 -
项目偶遇-[算法]-[向上或向下求一个数最近的2的整数次幂]
此算法在项目中需要,所以在网上找了一下,发现向上求解的很多,自己修改了一下徐诶了一个向下求解的,但是没有经过很多数的测试,有问题可以提出来。原创 2022-07-06 11:10:29 · 390 阅读 · 0 评论 -
我与计算机视觉-[CUDA]-[CPU多线程下CUDA的多流]
首先问题出在cpu下的多线程,当你想要在多个线程下调用同一个cuda核函数的时候,你会发现效率很低,那么经过验证,的确,不管你有多少个线程,cuda总是将线程中的核函数放入默认流中进行队列方式的处理,相当于单线程,但是这个问题在cuda7后已经得到了解决,下面对这个问题进行一些测试。这里使用了以下链接中的内容:https://www.cnblogs.com/wujianming-110117/p/14091897.htmlhttps://developer.nvidia.com/blog/gpu原创 2021-07-29 17:46:47 · 2253 阅读 · 5 评论 -
我与计算机视觉-[CUDA]-[Opencv.Resize的CPU实现和GPU实现]
首先原理和cpu的实现我这里就不赘述了,大家可以移步此篇文章,讲的很详细,并且gpu的代码也是按照这篇的思路去做的,链接:图像处理之双线性插值法。下面直接贴代码:CPU端实现:void Resize(cv::Mat matDst1, cv::Mat matSrc) { uchar* dataDst = matDst1.data; int stepDst = matDst1.step; uchar* dataSrc = matSrc.data; int stepSrc = matSrc.原创 2021-06-22 18:58:55 · 1091 阅读 · 4 评论 -
我与边缘计算 - [Jetson Xavier] - [浪潮边缘主机环境拓荒]
目的目的是使用边缘主机运行yolov4.过程我使用的这款机器说明书名称为NE1008N1边缘智算小站,我就叫他边缘主机了,因为搭载的是英伟达的JetsonNano后边简称jn,所以去网上查资料准备安装环境,网上说jn拿到的时候一般已经安装好cuda,opencv等深度学习环境,但是我找了一圈没找到,可能是浪潮那边弄掉了吧。所以这种情况下只能自己搭建环境,这里记录一下过程,以便自己后边迁移。1.opencv这里使用的是opencv3.3.1版本,github下载后使用mv命令移动到 /u.原创 2021-02-20 14:33:09 · 1197 阅读 · 0 评论 -
我与计算机视觉 - [Today is yolo] - [记一次使用c++训练yolo模型的经历]
1.准备darknet源码目录结构如下:在darknet-master\build\darknet\x64新建cfg文件,可以直接复制yolov3.cfg,然后重命名为你的名字.cfg,然后修改这个文件中的一些内容:将batch 改成64 :batch=64将subdivisions 改成8 :subdivisions=8将每个yolo下(共有3处)的classes改成你自己的类的数量 :classes = 1(我的是1类)将每个yolo上面第一个convolutiona..原创 2020-11-30 18:02:08 · 518 阅读 · 3 评论 -
我与C++ - [ThreadSafeHashPacket] - [线程安全的哈希桶]
转载自:https://blog.csdn.net/clh01s/article/details/80350845直接上代码:/* * threadsafe_map.cpp * * Created on: May 11, 2018 * Author: clh01s * 线程安全的查找表 * 通过boost的shared_mutex实现读写锁 * 假设有一定数量的桶,每一个键都有一个桶 * 这就意味着可以安全地为每一个桶分配一个独立原创 2020-07-18 13:52:25 · 155 阅读 · 1 评论 -
我与深度学习 - [Tensorflow] - [最简单的神经网络]
一个入门的简单的训练x_data = np.random.rand(100)y_data = x_data * 0.1 + 0.2b = tf.Variable(0.)k = tf.Variable(0.)y = x_data * k + bloss = tf.reduce_mean(tf.square(y - y_data))optimizer = tf.train.Gradi...原创 2019-10-24 15:06:12 · 110 阅读 · 0 评论 -
我与机器学习 - [Today is EM] - [EM算法]
EM算法,主要是为了解决GMM高斯混合模型所提出来的一种解决方案,但是也会使用于HMM中。先看一下高斯混合模型。这种双峰的数据,或者单个高斯模型无法拟合的情况可以考虑使用高斯混合模型,例如图像的前景背景分割。就是用高斯混合模型来处理。 先来看一下对于一组高斯分布来说,我们使用最大似然估计来对参数进行计算:这时倘若数据来自不同的分布,例如数据来自两个或者多个高斯分布,那参...原创 2019-01-14 22:29:36 · 125 阅读 · 0 评论 -
我与机器学习 - [Today is AdaBoost] - [自适应分类器]
当作重要决定时,大家可能会考虑吸取多个专家的意见而不是只有一个人的意见。机器学习处理问题时何尝不是如此,这就是元算法背后的思路,元算法是对其他算法进行组合的一种方式。接下来我们将集中关注一个 AdaBoost的最流行的元算法。由于某些人认为这是最好的监督学习的方式,所以该方法是机器学习工具箱中最强有力的工具之一。优点:泛化错误率低,易编码,可以应用在大部分的分类器上,无参数调整。缺点:对离...原创 2019-01-18 17:15:32 · 775 阅读 · 0 评论 -
我与机器学习 - [Today is HMM] - [隐马尔可夫模型]
隐马尔可夫模型,在语音识别,NLP,生物信息,模式识别等领域被实践证明是有效的算法。HMM是关于时序的概率模型,描述由一个隐藏的马尔科夫链生成不可观测的状态随机序列,再由各个状态生成观测随机序列的过程。HMM随机生成的状态随机序列,称为状态序列,每个状态序列生成一个观测,由此产生的观测随机序列,称为观测序列。HMM由初始概率分布pai,状态转移概率分布A以及观测概率分布B确定。lamd...原创 2019-01-17 20:37:08 · 306 阅读 · 0 评论 -
我与大数据 - [Today is Linux] - [命令学习]
uname 显示系统信息ifconfig 查看网络配置信息date 查看时间信息ps -ef 查看系统进程信息ps -ef | grep java 查看系统进程信息并进行过滤 grep过滤 |管道线 由上一个命令产生的结果传递到后面的命令中去top 查看系统cpu 内存使用情况 swab 缓存 mem内存grep 过滤以及查找操作 grep sshd 【路径】 查找...原创 2018-12-19 13:25:09 · 86 阅读 · 0 评论 -
我与数据科学 - [Today is Matplotlib] - [plt随用笔记]
在matplotlib上如何输出中文的一般步骤: mpl.rcParams['font.sans-serif'] = [u'SimHei'] mpl.rcParams['axes.unicode_minus'] = False 设置colormap的一般写法:cm_light = mpl.colors.ListedColormap(['#A0FFA0', '...原创 2018-12-19 13:24:45 · 131 阅读 · 0 评论 -
我与机器学习 - [Today is Knn] - [K-近邻算法]
优点:精度高,对异常值不敏感,无数据输入假定缺点:计算复杂度高,空间复杂度高适用数据范围:数值型和标称型k近邻,也就是KNN算法,他的工作原理是:一个有监督的学习,有一个带有标签的训练集,训练,当我们输入没有标签的的新数据后,将新数据的每个特征与训练集中的每个特征比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签,一般来说只选择样本数据集中,最相似的前K个数据,这就是K的由来...原创 2018-12-20 11:30:46 · 78 阅读 · 0 评论 -
我与机器学习 - [Today is SVM] - [支持向量机]
支持向量机分为:线性可分支持向量机,线性支持向量机,非线性支持向量机。下面开始推导:核心思想:让距离最小的点取最大。就是对于每一个可行的超平面,计算最近的点的距离,找到一个超平面,能使这个距离最大,就是最好的分割超平面,这样分类的效果最明显。计算点到直线的距离 然后,转化为求 max min d的问题然后,我们希望预测值和实际值是相同的,也就是说,预测值和实际值同号...原创 2018-12-19 13:21:53 · 154 阅读 · 0 评论 -
我与机器学习 - [Today is LR] - [Logistic 回归]
今天学习的是Logistic Regresion 说他是回归,其实他主要处理分类问题,用回归来处理分类问题其思想是:根据现有的数据对分类边界建立回归公式,以此进行分类。优点:计算代价不高,易于理解和实现,缺点:容易欠拟合,分类的精度可能不高适用数据类型为:数值型和标称型sigmoid 函数 1 + e的-x次方分之一为了实现Logistic回归分类器,我们可以在每个特征上都乘以...原创 2018-12-19 13:22:48 · 91 阅读 · 0 评论 -
我与机器学习 - [Today is Bayes] - [贝叶斯]
基于贝叶斯决策理论的分类方法优点:在数据较少的情况下仍然有效,可以处理多类别问题缺点:对于输入数据的准备准备方式较为敏感朴素贝叶斯是贝叶斯决策理论的一部分,我们用p1(x, y)表示数据点(x,y)属于第一类别,用p2(x,y)表示数据点属于第二类别,现在有一个新的数据点(x,y),可以用下面的规则来判断他的类别。如果p1(x,y) > p2(x,y) 那么属于类别1如果...原创 2018-12-19 13:23:14 · 103 阅读 · 0 评论 -
我与数据科学 - [Today is sklearn] - [sklearn api]
分割数据将数据分为训练集和测试集,使用sklearn的model_selection库里面的 train_test_splitfrom sklearn.model_selection import train_test_splitx_train, x_test, y_train, y_test = train_test_split(x, y, train_size=0.7, random_...原创 2018-12-19 13:23:35 · 137 阅读 · 0 评论 -
我与语言处理 - [Today is TF-IDF] - [词频-逆文件频率]
下看一个简单的解释。最通俗易懂:TF-IDF 要解决的问题,如何衡量一个关键字在文章中的重要性总起 TF-IDF,理解起来相当简单,他实际上就是TF*IDF,两个计算值的乘积,用来衡量一个词库中的词对每一篇文档的重要程度。下面我们分开来讲这两个值,TF和IDF。TF TF,是Term Frequency的缩写,就是某个关键字出现的频率,具体来讲,就是词库中的某个词在当前文...原创 2018-12-19 13:23:53 · 261 阅读 · 0 评论 -
我与数据科学 - [Today is Numpy] - [np随用随记]
numpy.loadtxt(fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)data = np.loadtxt(path, dtype=float, delimiter=',', converters={4: iris_t...原创 2018-12-19 13:24:08 · 140 阅读 · 0 评论 -
我与机器学习 - [Today is RF] - [随机森林]
条件熵:H(X,Y) - H(X) : (X,Y)发生所包含的熵,减去X单独发生包含的熵,即在X发生的前提下,Y发生新带来的熵。该式子定义为X发生前提下,Y的熵 H(Y|X)推导: 即:即:1 * H(Y|X) 所以 H(X,Y) - H(X) = H(Y|X)信息增益:当熵和条件熵中的概率是由数据估计(极大似然估计)得到的,则称对应的熵和条件熵为经验熵和经验...原创 2018-12-19 13:24:19 · 142 阅读 · 0 评论 -
我与GitHub - [Today is github] - [基本操作]
将本地目录上传到github首先在github上新建一个repository,复制链接,在要上传的目录内右键点击,选择 git bash here,出现命令行窗口1.在命令行中,输入“git init”,使Test文件夹加入git管理;2.输入“git add .”(不要漏了“.”),将Test文件夹全部内容添加到git。3.输入“git commit -m "first comm...原创 2018-12-19 13:24:35 · 133 阅读 · 0 评论 -
我与机器学习 - [Today is DT] - [决策树]
优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据缺点:可能会产生过度匹配的问题适用数据类型:数值型和标称型在构造决策树时,我们需要解决的第一个问题就是当前是那个特征在决定决策树的划分。为了找到起决定性的特征,划分出最好的结果,我们必须评估每个特征。所以构建决策树的流程就是,首先判断数据是否是同一个类型的,如果不是,找到划分这些数据起决定性因素的特...原创 2018-12-20 11:30:34 · 144 阅读 · 0 评论