自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ryan的博客

半路出家,多多关照

  • 博客(67)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 GTK源码编译(多backend)

GTK源码编译

2022-04-26 15:11:10 1180

原创 GTK with Broadway backend 代码分析

根据官方文档可知,GTK的Broadway后端可以支持在浏览器中显示GTK应用程序。broadwayd :5//这里":5"也可以省略,默认为":0",数字表示Broadway display number,决定了使用的端口号。打开浏览器,输入地址:127.0.0.1:8085 (端口8085 = 8080 + 5)。再打开一个命令行窗口,执行:export GDK_BACKEND=broadway export BROADWAY_DISPLA

2022-04-24 10:25:30 561

原创 libcuda.so.1: cannot open shared object file: No such file or directory

/lib/x86_64-linux-gnu 下的libcuda.so.1

2022-01-06 22:13:19 8784

转载 C++11中的多线程(2)

我们计划创建5个线程,把他们放入一个vector容器中。

2020-11-23 11:28:04 386

转载 C++11中的多线程(1)

创建线程​#include <iostream>#include <thread>void thread_function(){ std::cout << "thread function\n";}int main(){ std::thread t(&thread_function); // t starts running std::cout << "main thread\n"; t.j

2020-11-20 15:17:45 151

原创 libtorch和pytorch版本对应

使用libtorch调用c++接口,要保证下载的libtorch的版本和pytorch的版本对应至少使用低版本的pytorch和高版本的libtorch是没法成功的。官网上目前最新的是1.5版本各个版本的libtorch下载参考https://blog.csdn.net/qq_37569355/article/details/104246813...

2020-06-15 14:54:52 6898 2

原创 LeetCode-两数之和&三数之和

两数之和(easy)给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]方法一:暴力求解很自然的方法就是依次遍历数组中每个数,在剩下的数中找是否存在和为target的数...

2020-06-14 13:28:58 256

原创 剑指-数组中只出现一次的数字

题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。首先:位运算中异或的性质:两个相同数字异或=0,一个数和0异或还是它本身。当只有一个数出现一次时,我们把数组中所有的数,依次异或运算,最后剩下的就是落单的数,因为成对儿出现的都抵消了。依照这个思路,我们来看两个数(我们假设是AB)出现一次的数组。我们首先还是先异或,剩下的数字肯...

2020-02-24 21:25:39 108

原创 剑指-逆序对

题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007输入描述题目保证输入的数组中没有的相同的数字数据范围:对于%50的数据,size<=10^4对于%75的数据,size<=10^5对于%100的数据,...

2020-02-16 21:30:04 143

原创 剑指-丑数

题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。方法一、遍历判断。依次判断每个数字是不是丑数,如果一个数是丑数,那么他将只能够被2、3、5所整除。bool isUgly(int n){ while(n % 2 == 0){ ...

2020-02-04 12:07:34 137

原创 排序算法---快速排序

快速排序快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为2个子序列,然后递归地排序两个子序列。快速排序是一个不稳定的算法,在经过排序之后,可能会对相同值的元素的相对位置造成改变。快速排序的最坏运行情况是 O(n²),比如说顺序数列的快排。但它的平摊期望时间是 O(nlogn),且 O(nlogn) 记号中隐含的常数因子很小,比复杂度稳定等于 ...

2020-01-30 19:15:04 790

原创 LCM-录、读

自己写的终究是不如官方发布的,https://github.com/lcm-proj/lcm/tree/master/lcm-logger再官方github上找到了用lcm录数据并播放的源码,提供的功能也比较丰富,重要是可以按照信号发送的频率录下来,同时按频率播放,复现当时的场景。简单介绍一下。源码编译生产2个可执行文件,lcm-logger和lcm-logplayer。lcm-log...

2020-01-19 14:34:30 2314 1

原创 LCM-发、收

这几天写了lcm发、收、录、读的小工具,之前都用过发和收,这次主要还是录和读,就是把接收到的lcm消息保存下来,再通过另外一个读的程序把数据读出来,用于离线分析等。LCM(Lightweight Communications and Marshalling)在实时系统的数据传递中经常被使用。它具有高带宽、低延迟的特点,支持多种编程语言,API使用方便。官方文档提供了基本的使用说明,以及函数的具体...

2019-11-07 16:26:49 3533

原创 环境配置-Linux下安装tensorflow

http://tensorfly.cn/tfdoc/get_started/os_setup.htmlhttps://blog.csdn.net/yeler082/article/details/80943040 官网给出的地址是0.5的tensorflow版本,相对比较老旧。安装是可以用指令指定安装版本,比如安装1.4.0版本:pip install tensorflow-gpu...

2019-01-30 17:13:51 2270

原创 冲突声明(conflicting declaration)解决

使用到的2个库文件,重复定义了同名的数据类型。1、在后一个引用的定义的地方(比如uint64这个类型被重复定义) #ifdef uint64#undef uint64#define unsigned long long uint64 将前一个定义“undefine”,重新定义一个。这个要求冲突的2个定义必须是相同类型(都是unsigned long long),不然前一个文...

2018-11-22 10:29:32 65558 5

原创 无人驾驶视觉-单目视觉里程计

対极几何通过两帧图像的运动,利用匹配点,求解相机的位姿变换。(就是得到R,t)步骤:1. 根据配对点的像素位置,求出 E 或者 F ;2. 根据 E 或者 F ,求出 R, t。 问题单目视觉的尺度不确定性(Scale Ambiguity)。例如,程序中输出的 t 第一维约 0.822。这个 0.822 究竟是指 0.822 米呢,还是 0.822 厘米呢,我们是没法确定的。...

2018-11-21 09:42:15 3319 5

原创 无人驾驶视觉-多坐标系统

参考资料https://blog.csdn.net/yangdashi888/article/details/52994074https://blog.csdn.net/jeffasd/article/details/77944822《视觉SLAM十四讲》世界坐标系由于摄像机可安放在环境中的任意位置,在环境中选择一个基准坐标系来描述摄像机的位置,并用它描述环境中任何物体的...

2018-10-24 18:39:40 1620

原创 CNN-卷积神经网络

人工全连接网络CNN相较人工全连接网络:1、卷积层的神经元只与前一层的部分神经元链接2、同一层中的某些神经元之间连接的权重w和偏移b可以共享 为什么在图像处理中要使用CNN:          全连接层的方式对于图像数据来说似乎显得不这么友好,因为图像本身具有“二维空间特征”,通俗点说就是局部特性。譬如我们看一张猫的图片,可能看到猫的眼镜或者嘴巴就知道这是张猫片,而不需...

2018-07-25 11:24:56 351

原创 环境配置6-Win10下安装CUDA和cuDNN,配置caffe

到官网下载相应的安装包,cuDNN为lib库,需要先注册NVIDIA账号。https://developer.nvidia.com/rdp/cudnn-archivehttps://developer.nvidia.com/cuda-80-ga2-download-archive1-cuda下载好后,直接按照默认选项安装。2-cudnn下载后解压(比如解压后为C:\cuda\),会有bin、inc...

2018-06-29 16:24:40 4697 8

原创 训练YOLO模型

摘自https://github.com/AlexeyAB/darknet 如何训练自己的数据模型1、创建自己的yolo-obj.cfg文件:在同一目录下,复制yolo-voc.2.cfg的内容到yolo-obj.cfg。更改如下内容:    batch = 64    subdivision = 8   ,如果在训练过程中出现out of memory错误,将subdivis...

2018-06-19 14:57:20 3662 3

原创 环境配置5-Ubuntu下安装Caffe和YOLO

在Ubuntu系统、NVIDIA显卡驱动、CUDA、cuDNN、openCV都安装好之后,准备安装Caffe。安装Caffe1-安装依赖项sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compilersudo apt-get in...

2018-06-12 09:51:59 821

原创 环境配置4-Ubuntu下安装openCV

1-安装依赖项(需联网)sudo apt-get install build-essentialsudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devsudo apt-get install python-dev python-numpy ...

2018-06-09 13:47:01 903

原创 环境配置3-Ubuntu下安装CUDA8.0和cuDNN

安装CUDA1-首先对系统进行更新    sudo apt-get update    sudo apt-get upgrade2-安装依赖项     sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler     sud...

2018-06-09 13:26:54 3013

原创 环境配置2-Ubuntu下安装NVIDIA显卡驱动

手动安装(建议)1-在官网查询对应的驱动型号下载,放在桌面就好。官网驱动下载右键驱动,选择properties,记下文件的路径。2-更改文件的执行权限sudo chmod a+x NVIDIA-Linux-x86_64-384.98.run3-禁用nouveau。 3.1 执行sudo gedit /etc/modprobe.d/blacklist.conf , 打开黑名单。 ...

2018-06-07 18:59:25 2345

原创 环境配置1-安装Ubuntu双系统

注意:1-保证磁盘有足够大的空间,固态+机械的电脑最好把win系统和Ubuntu系统装在不同的硬盘上。2-所持有的机器尽量不要太新,否则驱动跟不上会引起小问题。准备工作:1、在原有磁盘中压缩出一块新空间,“压缩卷”操作后不要再“新建压缩卷”,即不要分配盘符。使这块区域保持未分配状态。即图中黑色状态。2-下载Ubuntu系统镜像,或者找同事索取。3-找一个空U盘,通过Ultraiso软件将镜像文件按...

2018-06-07 17:08:14 539

翻译 聊天机器人中的深度学习

原文链接:http://www.wildml.com/2016/04/deep-learning-for-chatbots-part-1-introduction/Part1简介——聊天机器人中的深度学习聊天机器人,也称作是会话代理,或者对话系统,是非常热门的话题。微软、Facebook、Apple公司、Google、微信以及Slack公司都对此付出了大量的人力物力。也有很多的创业公司

2017-05-20 15:22:58 2018

原创 小知识

1、浮点数之所以称为浮点数,是因为用科学计数法表示时,小数点的位置可以改变。比如,1.23x109和12.3x108是完全相等的。

2017-05-09 20:27:50 260

原创 平衡数

平衡数的定义:将一个数分成左右两部分,分别成为2个新数。左右不分必须满足:1、左边和右边至少存在一位2、左边数的每一位相乘如果等于右边数每一位相乘则这个数称为平衡数。如:1221这个数,分成12和21,1*2 = 2*1,是个平衡数。1236这个数,分成123和6,1*2*3 = 6,是个平衡数。输入:一个正整数(int范围)输出:如果是平衡数输出“YES”,否

2017-03-23 20:59:30 23362

原创 LintCode 用递归打印数字

用递归的方法找到从1到最大的N位整数。样例给出 N = 1, 返回[1,2,3,4,5,6,7,8,9].给出 N = 2, 返回[1,2,3,4,5,6,7,8,9,10,11,...,99].挑战 用递归完成,而非循环的方式。方法一:循环输出最大的数为10^n -1class Solution {public: /**

2017-03-22 13:01:46 883

原创 将字符串转换为整数

输入一个字符串,将其转换为整数。比如输入“123”,输出为123.重点在各种边界条件的处理:负数、有非数字、溢出溢出的处理有点问题,希望有人能指出如何改正#include using namespace std;bool strToInt(const char *str, int &num){ num = 0; bool isMins = false; //是

2017-03-21 12:52:02 408

转载 序列和

给出一个正整数N和长度L,找出一段长度大于等于L的连续非负整数,他们的和恰好为N。答案可能有多个,我我们需要找出长度最小的那个。例如 N = 18 L = 2:5 + 6 + 7 = 18 3 + 4 + 5 + 6 = 18都是满足要求的,但是我们输出更短的 5 6 7输入数据包括一行:两个正整数N(1 ≤ N ≤ 1000000000),L(2 ≤ L ≤ 100)

2017-03-19 21:01:30 690 2

原创 页码统计

牛牛新买了一本算法书,算法书一共有n页,页码从1到n。牛牛于是想了一个算法题目:在这本算法书页码中0~9每个数字分别出现了多少次? 统计在1-n个数字中,0、1、2、3……9各出现了多少次首先简化,判断1-n个数字中,i出现的次数,0//计算1-n的整数中,i出现的次数int nCount(int n, int i){ int num = 0; for

2017-03-18 22:29:29 2938

原创 超级素数幂

如果一个数字能表示为p^q(^表示幂运算)且p为一个素数,q为大于1的正整数就称这个数叫做超级素数幂。现在给出一个正整数n,如果n是一个超级素数幂需要找出对应的p,q。#include #include using namespace std;//判断一个数是否是素数bool bIsPrime(int n){ if (n <=1) { return fa

2017-03-18 21:11:52 783 4

原创 LintCode 主元素

给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。样例给出数组[1,1,1,1,2,2,2],返回 1方法一:枚举法,时间复杂度O(n2)依次比较每个数出现的次数,记下出现次数最多的值,如果出现次数大于个数的一半,返回它。class Solution {public: /** * @param nums: A li

2017-02-08 18:06:35 325

原创 LintCode 最大子数组(3种方法)

给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。样例给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最大和为6方法一:暴力枚举,时间复杂度O(n3)1、找出子数组的最左端点 for i2、找出子数组的最右端点 for j3、求和,找出最大值 sum =

2017-02-08 16:22:39 11162 1

原创 SQLITE 源码在自己工程中的使用

为什么会有这种需求,因为sqlite的源码是纯C语言,对于不想额外安装exe的场合,可以把源码嵌入到任何你需要的工程中来使用。首先,去官网下载到sqlite的源码,其中需要的是.h和.c两个文件。将这两个文件分别加到你工程的头文件和源文件内。在需要使用的地方包含以下头文件#include “sqlite3.h”一、新建(打开)一个数据库函数:sqlite3_open();返

2017-01-16 22:22:03 3268 1

原创 Qt 产生随机字符数组

定义一个数组,用随机字符来填充这个数组const char *c = "0123456789abcdefghijklmnopqrstuvwxyz"; //可填充的字符char* MsgBuffer = new char[ulMsgLength]; //定义一个ulMsgLength长度的字符数组memset(MsgBuffer, 0, ulMsgLength);

2017-01-06 10:33:42 2447

原创 Git 初次使用(6)

完成Git的初始设置后,一次完整的代码提交过程应该是这样的://检查代码git status//添加所有改动git add -A//提交改动git commit -m "改动信息"//切换到developer分支git checkout developer//获取远端developer信息git fetch//查看本地develope

2017-01-05 09:49:33 258

转载 Git 初次使用(5)

分支简介  几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。 在很多版本控制系统中,这是一个略微低效的过程——常常需要完全创建一个源代码目录的副本。对于大项目来说,这样的过程会耗费很多时间。  有人把 Git 的分支模型称为它的“必杀技特性”,也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出。 为何 Git

2017-01-04 17:25:40 230

转载 Git 初次使用(4)

远程仓库的使用查看远程仓库如果想查看你已经配置的远程仓库服务器,可以运行 git remote 命令。 它会列出你指定的每一个远程服务器的简写。 如果你已经克隆了自己的仓库,那么至少应该能看到 origin - 这是 Git 给你克隆的仓库服务器的默认名字:$ git clone https://github.com/schacon/ticgitCloning int

2017-01-04 17:21:56 267

C++手册英文版,免费给大家

亲测好用!怎么不能免费给大家用呀,造福大家,共建共享社会!

2018-08-01

sqlite源码在自己工程中的使用

sqlite源码在自己工程中的应用,可以不依赖于其他安装程序和插件,并且纯C语言具有跨平台的特性。 工程是在Qt下的,不过代码是很简单的Demo。

2017-01-16

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

TA关注的人

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