自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (3)
  • 收藏
  • 关注

原创 return _message.default_pool.FindFieldByName(full_name) KeyError: "Couldn't find field google.pr

return _message.default_pool.FindFieldByName(full_name)KeyError: "Couldn't find field google.protobuf.FileOptions.javanano_use_deprecated_package"解决:pip install --force-reinstall --upgrade p

2017-07-13 22:10:20 3566 1

原创 (一)安装tensorflow

环境: ubuntu16.04 GTX10501. 安装cuda8.0下载地址:https://developer.nvidia.com/cuda-downloads(1)按 ctrl+alt+F1 进入tty, 登录tty后输入如下命令sudo service lightdm stop该命令会关闭lightdm。(2)屏蔽集显sudo vim /etc/modprobe.d/blacklist.c

2017-07-13 21:45:35 361

原创 git clone错误

问题:warning: http.proxy has multiple values方法:git config --global --unset-all  http.proxy成功:Cloning into 'kmeans'...remote: Counting objects: 7, done.remote: Total 7 (delta 0), reused 0

2017-07-07 14:08:55 1619

原创 win10_ubuntu1604_caffe安装

1. 安装双系统本人电脑是(惠普(HP)暗影精灵II代Pro 精灵绿 15.6英寸游戏笔记本(i7-7700HQ 8G 128GSSD+1T GTX1050Ti 4G独显 IPS FHD), 电脑默认安装win10在ssd上,因为需要跑深度学习所以安装Ubuntu16.04.(14.04出错)(1)用ultraiso制作U盘启动盘,然后进行安装。 安装比较简单,就是需要注意的是

2017-06-21 20:33:23 1025

原创 caffe softmax源码解读

前向传播template <typename Dtype>void SoftmaxLayer<Dtype>::Forward_cpu(const vector<Blob<Dtype>*>& bottom, const vector<Blob<Dtype>*>& top) { const Dtype* bottom_data = bottom[0]->cpu_data(); Dtyp

2017-06-08 19:08:11 519

原创 caffe中的优化方法

参考网址: http://sebastianruder.com/optimizing-gradient-descent/index.html#gradientdescentvariants http://caffe.berkeleyvision.org/tutorial/solver.html 在caffe中实现了六种优化方法,如下:Stochastic Gradient Descent (

2017-06-01 21:49:30 1955

原创 使用LibJpeg图像解码

1 简介libjpeg一个图片解码库,在项目中需要读入图片,但不想依赖opencv的接口,这时可以libjpeg完成解码。libjpeg有两个版本,一个时原装的libjpeg,另一个则是libjpeg-turbo,这是一个使用 SIMD指令加速的解码库,大约是libjpeg的3倍的速度,代码参见 https://github.com/libjpeg-turbo/libjpeg-turbo2 编译下

2017-05-12 15:36:30 960

原创 (二)caffe 网络训练执行流程

暂时提交 caffe训练网络的执行脚本如下(例如运行lenet)./build/tools/caffe train --solver=examples/mnist/lenet_solver.prototx在Qt中运行的时候,参考http://blog.csdn.net/qyczyr/article/details/70216300程序执行入口啊在src/caffe/tools/caffe.cpp

2017-04-24 17:05:00 404

原创 Qt单步调试caffe

Qt caffe单步调试(1) 打开Qt,导入CakeList.txt进去,如图所示: (2) 在Projects左边的菜单栏下,设置工作目录,以及运行的程序和参数,如下: (3)点击运行或者Debug进行调试,运行mnist,需提前下载好mnist数据

2017-04-17 21:27:13 1073

原创 使用cifar10训练

使用cifar10训练1. 参数设置net: "examples/cifar10/cifar10_quick_train_test.prototxt" #训练和测试网络的配置文件test_iter: 100 #进行一次测试需要的迭代次数,因为测试时,batch为100,一共10000张测试图片所以此处为100test_interval: 500 #测试间隔base_lr: 0.001 #基础学

2017-04-13 20:55:34 1184

原创 使用qt开发ros

1. 安装qt2. 导入catkin_ws下src下的CMakeList文件

2016-12-13 14:57:47 469

原创 rgbdv2 slam安装

运行环境: ubuntu14.04 ros版本: indigo一. 安装srgbdV2 slam1. 创建catkin工作空间:这里为rgbdslam单独创建一个catkin工作空间。#首先新建文件夹mkdir -p src#进入新建的文件夹cd ~/rgbdslam_catkin_ws/src#将其初始化为catkin工作空间的源码存放文件夹

2016-12-13 10:56:25 689

原创 gmapping和rtab-map slam对比

gampping算法和rtab-map slam算法对比很开心最近有机会对比slam算法。gmappinggmapping算法是通过粒子滤波的方法实现,这种方法一般需要大量的粒子来获取好的结果,但这必会引入计算的复杂度;粒子是一个依据过程的观测逐渐更新权重与收敛的过程,这种重采样的过程必然会代入粒子耗散问题(depletion problem), 大权重粒子显著,小权重粒子会消失(有可能正确的粒

2016-12-04 22:32:27 6859 5

原创 boost

一.准备 学习网址: https://class.coursera.org/ntumltwo-002/lecture二.课程内容2.1复习 上一讲主要讲解了blending and bagging。blending的主要思想是为了把我们手上的小区合并成一个大区,可以通过uniform,no-uniform的方法进行投票,如果我们手上还没有一堆小区,可以通过bootstrapping来反复产生

2016-12-04 22:23:13 274

原创 (1)控制turtlebot 1代行走

为了自主控制turtlebot的行走,我们需要在代码中实现。一.准备 在这个过程中,我们需要知道向哪一个主题发送消息。网上说是cmd_vel,但是我尝试并未成功。我们可以使用rostopic list,查看当前输出活动主题的列表。我们可以看到/cmd_vel_mux/input/teleop就是我们需要的,代码如下: young@young-Lenovo:~$ rostopic list

2016-11-17 15:55:14 1784

原创 W311M2 ubuntu安装驱动

1. 进入到驱动包中2. make3. sudo make install

2016-11-16 10:34:29 1453

转载 AHRS(航姿参考系统)和IMU(惯性测量单元)的区别【转】

刚开始的时候我总是搞不清楚AHRS和 IMU的区别。。不知道这有什么区别。。后来慢慢的慢慢的,我理解了~AHRS 俗称航姿参考系统,AHRS由加速度计,磁场计,陀螺仪构成,AHRS的真正参考来自于地球的重力场和地球的磁场~~他的静态终精度取决于对磁场的测量精度和对重力的测量精度 ,而则陀螺决定了他的动态性能。  这就是AHRS~在这种前提下。说明AHRS离开了地球这种有重力和磁场环境的时候是没法正常

2016-11-09 10:27:42 1493

转载 贝叶斯理论

1.贝叶斯法则机器学习的任务:在给定训练数据D时,确定假设空间H中的最佳假设。最佳假设:一种方法是把它定义为在给定数据D以及H中不同假设的先验概率的有关知识下的最可能假设。贝叶斯理论提供了一种计算假设概率的方法,基于假设的先验概率、给定假设下观察到不同数据的概率以及观察到的数据本身。2.先验概率和后验概率用P(h)表示在没有训练数据前假设h拥有的初始概率。P(h)被称为h的先验

2016-10-31 14:55:30 521

原创 C++ endl和\n的区别

c++ endl是一个操作符,效果是结束当前行,并刷新缓冲区。如果仅因为缓冲区没有刷新,程序员将浪费大量的时间跟踪调试并没有执行的代码,基于这个原因,输出时应多使用endl而非’\n’,使用endl不会担心程序崩溃时输出是否悬而未决(即还留在缓冲区中,未输出到设备中)。

2016-10-20 17:07:19 599

转载 值得推荐的C/C++框架和库 (真的很强大)

值得学习的C语言开源项目- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/

2016-02-15 20:33:33 809

原创 caffe_cpp_api

Classifying ImageNet: using the C++ APICaffe, at its core, is written in C++. It is possible to use the C++API of Caffe to implement an image classification application similarto the Python code pre

2015-11-15 00:31:43 900

原创 Mat for Adding and Multiple by cuda

Mat for Adding and Multiple by cudacode:#include <iostream>#include <cuda.h>using namespace std;#define N 2__global__ void MatAdd(float A[N][N], float B[N][N], float C[N][N]){ int i = blockIdx.x

2015-10-31 14:43:30 784

原创 欢迎使用CSDN-markdown编辑器

练习(一) 串串子连环(难度: 低)本博客主要记录一些平时代码的练习题,坚持每天刷两道题,加油题目游戏规则: 连接上下左右对角线上的相邻字母,组成一个单词。 U R L P M x x x x x X P R E T ====》 x P R x T G I A E T x x x E T X

2015-10-30 13:37:36 421

原创 Kmeans原理及实现

在聚类分析中,最简单、基本的版本是划分,它把对象组织成多个互斥的组或簇。 这些簇的形成旨在优化一个客观划分准则,使得同一簇中的对象是相似的,不同簇的对象是相异的。 最常用的划分方法包括,k-means和k-medoids。一. k-means算法k-means算法是一种很常见的聚类算法,它的基本思想是:通过迭代寻找k个聚类的一种划分方案,使得用这k个聚类的均值来代表相应各类样本时所得的总体误差最

2015-10-04 14:56:45 628

原创 Install cuda7.5 in ubuntu14.04

1. down cudahttps://developer.nvidia.com/cuda-downloads choose deb2. installPlease run sudo dpkg -i xxxcuda.deb in terminal Please run sudo apt-get update3. install sample/usr/local/cuda/sample run ‘m

2015-09-29 18:43:53 561

原创 梯度下降

原理见ng教程code# -*- coding: utf-8 -*-"""Created on Tue Sep 01 17:08:36 2015@author: young"""import osimport numpy as npimport matplotlib.pyplot as pltdef getData(filename): data = [] with op

2015-09-01 23:00:34 407

原创 文章标题

简单Hash实现原理参考《算法导论》p143coding#ifndef __HASH_H__#define __HASH_H__#include <iostream>using namespace std;#define HASHSIZE 100class ListNode{public: int key; int value; ListNode *next;

2015-08-29 17:16:15 335

原创 sougou for linux

1. sudo apt-get install fcitx libssh2-1  , --->set fctix2. 注销--->右上角3. input-keyboard 选择输入法

2015-08-26 22:25:05 601

原创 文章标题

二叉查找树实现性质二叉查找树(BinarySearch Tree,也叫二叉搜索树,或称二叉排序树Binary Sort Tree)或者是一棵空树,或者是具有下列性质的二叉树:(1)、若它的左子树不为空,则左子树上所有结点的值均小于它的根结点的值;(2)、若它的右子树不为空,则右子树上所有结点的值均大于它的根结点的值;(3)、它的左、右子树也分别为二叉查找树插入在二叉查找树中插入新结点,要保证插入新

2015-08-22 16:22:12 582

转载 文章标题

通俗详细地讲解什么是P和NP问题上篇博文谈及NP,有博友认为我文中没有解释NP的概念,是不妥的,这次对P和NP进行详细的讲解,使得非计算机专业的理工类也能看懂,计算机专业的当然就更能透彻地看懂了。要计算或解决一个问题,该问题通常有一个大小规模,用n表示。例如,若分析计算一个二进制数,该数有多少位,这个位就是其大小规模。再比如,从n个数里面找出最大的那个数,这个n就是该问题的规模大小。怎么找?我们要比

2015-08-18 15:12:01 508

原创 文章标题

求连续区间的最大子序列和问题解下面一个事例例如,在一维数组的连续区间中找出其总和最大的连续区间。 例如:input: [-7,4,-3,6,3,-8,3,4] output: 10方法求最大子序列和是一个非常常见的问题,由于本人刚学习算法不久,只用常见的几种方法进行尝试。穷举法时间复杂度为O(N.^3)穷举法,减去一些不必要比较时间复杂度为O(N.^2)分治法时间复杂度为O(

2015-08-18 14:59:07 410

转载 协方差意义

协方差意义(转)在概率论中,两个随机变量 X 与 Y 之间相互关系,大致有下列3种情况: 当 X, Y 的联合分布像上图那样时,我们可以看出,大致上有: X 越大 Y 也越大, X 越小 Y 也越小,这种情况,我们称为“正相关”。 当X, Y 的联合分布像上图那样时,我们可以看出,大致上有:X 越大Y 反而越小,X 越小 Y 反而越大,这种情况,我们称为“负相关”。 总结: cov(X,

2015-07-25 21:07:08 469

转载 文章标题

为什么最小二乘法对误差的估计要用平方?转http://www.fuzihao.org/blog/2014/06/13/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%9C%80%E5%B0%8F%E4%BA%8C%E4%B9%98%E6%B3%95%E5%AF%B9%E8%AF%AF%E5%B7%AE%E7%9A%84%E4%BC%B0%E8%AE%A1%E8%A6%81%E7%94%

2015-07-24 00:06:20 400

原创 算法之二分查找(1)

原理折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务。Python实现# -*-coding:utf-8 -*-#Young#CreateOn:21:21/7/22/2015#Content: Bin Searchdef BinSearch(array,num,goalNum): low = 0 high =

2015-07-22 21:44:39 447

原创 文章标题

排序之插入排序原理插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 最差时间复杂度:O(n^2) 最优

2015-07-19 23:38:57 338

原创 欢迎使用CSDN-markdown编辑器

二级指针的理解背景在最近学习当中,由于对数据结构很久没有接触,想自己写一个二叉树帮助复习,可在这个过程中遇到一个问题,那就二级指针的使用。 > void change_Value(char **c) { static char new_val4 = {‘2’, ‘3’, ‘4’}; *c = new_val; cout <Markdown及扩

2015-06-29 21:34:27 429

原创 欢迎使用CSDN-markdown编辑器

ldconfig使用背景:今日闲来没事,在ubuntu下玩转opencv,却不知出现这么多问题。由于我的opencv是在qt下编译的,opencv会去调用qt的界面库。问题//home/young/Qt5.4.2/5.4/gcc_64/lib/libQt5Core.so.5: undefined reference to ucnv_setSubstChars_53' //home/young/Qt

2015-06-28 15:37:44 823

转载 ubuntu14.04 install cuda7.0

首先验证你是否有nvidia的显卡(http://developer.nvidia.com/cuda-gpus这个网站查看你是否有支持gpu的显卡):$ lspci | grep -i nvidia  查看你的linux发行版本(主要是看是64位还是32位的):$ uname -m && cat /etc/*release  看一下gcc的版本:

2015-06-24 21:02:27 447

原创 windows7 + Qt5 + opencv配置

1 下载所需工具(1)Qt Creator 下载地址http://qt-project.org (建议下载最新版本)(2)OpenCV 下载地址http://opencv.org/(不建议下载最新版本,最新版本的编译需要高版本的MinGW,不然在执行mingw32-make命令会报错)(3)CMake 下载地址http://www.cmake.org/cmake/resources/s

2015-02-04 15:58:49 764

转载 scanf gets fgets

scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别。若想从键盘上输入字符串"hi hello",则应该使用__gets__函数。gets可以接收空格;而scanf遇到空格、回车和Tab键都会认为输入结束,所有它不能接收空格。char string[15]; gets(string); /*遇到回车认为输入结束*/scanf("%s",string); /*遇到

2015-01-11 00:41:46 527

基于qt截图工具

这是基于qt做的截图工具

2014-05-01

基于51单片机的无线点菜系统

这是工程教育高做的点菜系统,基于51单片机,上位机采用qt,由于时间比较紧还有很多东西等待完善,基本实现点菜管理功能

2014-05-01

数字逻辑电路分析与设计

数字电路课外实验项目

2012-12-28

空空如也

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

TA关注的人

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