- 博客(22)
- 资源 (6)
- 收藏
- 关注
原创 np的一些操作
import numpy as npa=np.arange(0,12)b=a.reshape((-1,1)) # b with shape 12,1c=a.reshape((1,-1)) # c with shape 1,12b=np.tile(b,[1,12]) # 将最里面的维度重复12遍, new shape: 12,12c=np.tile(c,[12,1]) # 将第二维度重复...
2018-12-17 21:36:36 422
原创 排序算法——第K大的数
在求一个list中第K大的数的时候,可以先排序,再提取,但复杂度有nlogn,当然也可以像求取top K一样,利用堆排序或选择排序或者冒泡排序,但对堆排序而言有KlogN,其他的两个分别为KN,如果利用快速排序改进的话,时间复杂度可以降到N级别。思路:每次做完partition之后,统计大于基准值的元素个数n,如果n>k,则在较大的一侧中继续寻找Kth value,否则在较小的一侧寻...
2018-10-14 14:54:31 581
原创 排序算法总结
选择排序:(1)选择排序:两层循环,内层找最小值,外层遍历,进而实现交换,可以用于求Top K的问题,这种情况下内层循环只要执行K次。(2)堆排序:先构建一个堆(有序的完全二叉树),这个过程中最多执行N次比较与2N次交换,之后依次取出堆顶元素,然后将处于数组最后的元素置于堆顶,下沉,使得二叉堆再次有序。(利用一个数组的1-N+1存储堆中的元素)。取堆顶元素然后下沉的过程有点类似选择排序,只...
2018-10-11 15:42:26 208
原创 stack实现二叉树的先序与中序遍历
(1)利用stack实现二叉树的先序与中序遍历,程序基本差不多,访问的顺序不同,后续遍历就要麻烦许多。中序遍历:#include<stack>#include<vector>using namespace std;struct TreeNode { int val; TreeNode *left; TreeNode *right...
2018-10-06 15:33:59 790 1
原创 二分查找中的边界问题
二分查找思路比较容易,但是总是在边界上容易出问题,总结得到以下两个思路:int binary_search_before(vector<int> &nums, int target){//在有序nums中查找target的直接前驱,包括target int l=0; int r=nums.size()-1; while(l<r){ ...
2018-10-05 19:14:28 593
原创 C++ 快慢指针求ListNode中点
用快慢指针求ListNode的中点,网上的答案大都是下面这个:struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} };class Solution {public: ListNode* middleNode(ListNode* h...
2018-10-04 16:30:58 509 1
原创 排序算法
(0)从终端读入数字并存储到list中的代码:#include<iostream>#include<vector>#include<sstream>#include<string>using namespace std;int main(){ vector<int> data_list; string li...
2018-09-23 11:37:57 161
原创 C++ STL 对应的数据结构
(1)vector:本质上是个数组,可忽略数组长度的限制,支持快速随机访问。插入操作比较耗时,需要移动元素,连续内存存储。支持[ ]操作。(2)list: 封装了双向链表,不支持[ ]操作,但可以实现快速的插入操作,不需要移动元素。(3)deque:双端队列,整合了vector与list的功能。(4)map:一棵红黑树,所以树的高度不超过logN+1,插入与查询的时间复杂度为O(log...
2018-07-27 15:38:24 453
原创 C++ 笔记
动态数组,C++中的vector支持动态数组特性:int N=10;vector<int> a(N) //初始化值为0的listvector<string> b(N) vector<vector<int>> a(N,vector<int>(M,0))//初始化一个二维数组int N=10;int *p=new i...
2018-07-04 18:15:12 149
原创 caffe2与Detectron安装及使用教程
caffe2与Detectron已经放出很久,但由于相关教程较少,并且代码不稳定,一直没有使用,但伴随着相关开源代码增多,不得已安装与学习,做个简要的教程。step1: caffe2安装(caffe2的安装比较麻烦,有可能会出现各种问题): 主要环境要求:python2,cuda-8.0,cudnn6.0,Ubuntu16.04 ,按照装caffe的传统方式安装显卡驱动,cud...
2018-06-27 17:07:33 2947
原创 CVPR2018 paper 浏览
对CVPR2018的文章做一个大致的浏览,将自己感兴趣的文章记录在这里:LiDAR-Video Driving Dataset: Learning Driving Policies Effectively:开源了一个含有雷达数据的自动驾驶数据集,比较有意思。但目前还没有找到数据集,等待作者放出benchmark。MX-LSTM:mixing tracklets and vislets to joi...
2018-06-22 20:20:53 1509
原创 YOLOv3图像批处理程序
YOLOv3提供了单张图片处理接口,但并未提供图像的批处理接口,通过修改detector.c 实现从文本读入image list并将结果保存到输出txt文件,代码如下:在detector.c中添加如下函数:void batch_process(char *datacfg, char *cfgfile, char *weightfile, char *read_file, float thresh,...
2018-06-05 19:17:08 4037 6
原创 多目标跟踪paper列表与source code
多目标跟踪相关数据集,论文以及开源代码,资源整理在个人的github:https://github.com/SpyderXu/multi-object-tracking-paper-list
2018-04-01 19:21:49 2283 1
原创 Alpha Pose 中Pose flow中deep matching在Ubuntu下的安装方法
在Alpha pose中使用了poseflow进行pose tracking,而poseflow中在匹配的过程中使用了deep matching进行匹配。deep matching原本在fedora下配置,在Ubuntu下安装时会遇到各种问题,下面介绍其在Ubuntu下的编译安装方法。1:atlas:在makefile中由关于libsatlas.so的路径,这里显然有问题,因为按照安装caffe时...
2018-03-15 22:09:15 2344 3
原创 利用BP神经网络实现手写字符识别
利用python实现的BP神经网络,进行手写字符识别,训练与测试数据集为mnist,若实现UI界面需要安装pyqt5。代码开源在个人的github:https://github.com/SpyderXu/BP_mnist_UI效果:...
2018-03-06 11:25:34 2881
原创 SSD+SORT实现多行人检测与关联
利用SSD作为检测器,利用SORT作为关联器实现的多目标检测与跟踪系统,代码开源在个人githubhttps://github.com/SpyderXu/ssd_sort效果如下:
2018-02-28 20:47:56 5694 3
原创 目标检测、跟踪、语意分割、stereo matching常用网址
1 单目标跟踪单目标跟踪的benchmarkhttps://github.com/foolwood/benchmark_results总结性文章传统方法 Understanding and Diagnosing Visual Tracking Systems深度学习 Object Visual Tracking with Deep Learning Methods2 多目标跟踪https://m
2017-08-24 14:57:05 1595 1
原创 深度学习数据整理——Python常用的遍历操作
在训练CNN或是其他的深度学习网络时,经常要做的一件事便是准备数据,这是一件比较“烦人”的事情,此处以Python为基础整理几个经常能用到的数据处理脚本以及需要注意的地方。Python遍历指定目录下的所有文件利用Python脚本遍历指定目标下的文件@requires_authorization"""注意:从os.listdir中读取的文件名list是无序的,利用sort方法可以使其按照str.
2017-07-15 10:55:43 1179
原创 深度学习数据整理——Python读写xml文件
在训练CNN或是其他的深度学习网络时,经常要做的一件事便是准备数据,这是一件比较“烦人”的事情,此处以Python为基础整理几个经常能用到的数据处理脚本以及需要注意的地方。Python读写xml文件xml是常见的数据标注格式,下面给出利用Python读写xml文件的脚本,首先是利用Python读取xml文件的脚本:@requires_authorizationimport xml.etree.cE
2017-07-15 10:27:12 11996 1
原创 DeepLab v2 配置
DeepLab v2配置过程不是很麻烦,但资料很少,此处详解一下:1)cudnn降级:因为Caffe版本所导致的问题,DeepLab的作者推荐使用cudnn v4,如果不是的话,可以考虑降级或者文件移植。先说降级;到英伟达官网下载nudnn v4(注册即可下载),随便找个地方解压。以v5将v4为例sudo rm /usr/local/include/cudnn.hsudo rm
2017-04-15 17:18:43 4357 9
原创 Caffe笔记
caffe随笔(1)Blob数据类型:存储data时: num*channel*height*width存储conv layer时: H(output)*K(input)*height*width(2)cpu_data与cpu_mutable_data的区别cpu_data:只读取数据时用这个cpu_mutable_data:有数据修改时用这个
2017-03-25 20:26:56 524
原创 SSD中ssd_detect调用caffe解读
SSD目录下,examples/ssd/下有一ssd_detect.cpp文件,编译连接后生成ssd_deetct.bin可以加以调用,该文件主要是对cpp_classification.cpp的改写,是一个利用C++调用Caffe的主体步骤,下面对其加以解读。// This is a demo code for using a SSD model to do detection.// The
2017-03-25 09:02:55 4701
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人