自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

起点的专刊

专注于IT技术

原创 ubuntu14.04 编译安装caffe(GPU)+CUDA+(常见问题)

在我们开始caffe学习的第一步自然就是准备环境啦,对于初学者,这个过程或许很难,有的时候可能搞个几天,绕进去就出不来,今天小编将自己在学习过程中,遇到的问题说一下,希望可以节约你的精力!一、环境准备 我是在自己的笔记本上装的双系统,ubuntu14.04 配置是GTX1070+16G,当然啦如果你的电脑没有GPU环境,可以安装cpu版,或者在windows上进行编译都是可以...

2019-05-13 17:13:12 1781 4

原创 OpenCV--使用mobilenet进行目标检测(附源码)

最近在使用opencv做一些图像处理和检测的内容,今天主要讲一下基于mobilenet模型进行目标检测的一般流程。部署环境:vs2017 +opencv3.3+C++ 1、添加引用库和命名空间 添加我们所需要使用的dnn库,和相关依赖#include<iostream>#include<opencv2/dnn.hpp>//openc...

2019-05-09 22:34:41 3858 2

原创 C++指针详解(精心整理)

我想你一定和我一样刚开始接触C++的时候,被指针(pointer)引用(reference)内存分区等等诸多概念,弄得很头疼吧。其实回头想想,C/C++,python,java,shell...学习起来都有一个共性,那就是敲敲敲,多敲几遍代码,可能会有一些问题,带着问题去学习,整理它。然后将技术不断的应用于工作中的新场景,很快就可以掌握一门新技术了,不建议毫无基础的情况下,学习特别深的理...

2019-05-03 21:07:18 4566 3

原创 C++中各个容器的使用场景

Vector的使用场景:比如软件历史操作记录的存储,我们经常要查看历史记录,比如上一次的记录,上上次的记录,但却不会去删除记录,因为记录是事实的描述。 deque的使用场景:比如排队购票系统,对排队者的存储可以采用deque,支持头端的快速移除,尾端的快速添加。如果采用vector,则头端移除时,会移动大量的数据,速度慢。 vector与deque的比较: 一:vector.at...

2019-05-02 22:20:21 2846

原创 linux下安装Oracle 11g数据库详细教程

1 安装规划oracle r2 192.168.10.5511.2.0.4 centOS 6.6主机名修改: /etc/sysconfig/network主机名: ip映射关系 :/etc/hosts关闭selinux关闭防火墙1、安装规划 ora11gr2 192.168.56.149 11.2.0.4 rhel 6.x 主机名修改: /etc/sysconfig/network ...

2018-02-23 11:34:03 24297 4

原创 oracle 查询模板

1单表查询select列,列(子查询)from表,表(子查询) where 列过滤条件(子查询);例:标量子查询select  empno,      ename,      job,      sal,      (select dname from dept where dept.deptno = emp.deptno) deptno from emp;

2018-01-23 11:47:47 15854 3

原创 程序员的节日

节日快乐,我们继续努力!!!

2019-10-24 10:42:27 71

原创 数据分析(8)--matplotlib 数据可视化

数据可视化基本概念数据可视化是指借助于图形化的手段,清晰、快捷有效的传达与沟通信息。同时,也可以辅助用户做出相应的判断,更好的去洞悉数据背后的价值。字不如表,表不如图。观察号码的频率,每个号码出现了多少次?文字08 10 15 20 30 31 33 0601 09 10 17 21 28 32 1302 05 08 13 19 21 28 1003 05 07 14 18 23...

2019-07-01 01:20:32 85 3

原创 数据分析(7)-如何使用Python与Hadoop生态系统进行交互(译)

我们都知道hadoop主要使用java实现的,那么如何使用python与hadoop生态圈进行交互呢,我看到一篇很好的文章,结合google翻译和自己的认识分享给大家。您将学习如何从Hadoop Distributed Filesystem直接加载文件内存等信息。将文件从本地移动到HDFS或设置Spark。from pathlib import Pathimport pandas as pd...

2019-06-30 23:34:14 523

原创 数据分析(6)--Pandas+MultiIndex多层索引与分组

MultiIndexMultiIndex,即具有多个层次的索引,有些类似于根据索引进行分组的形式。通过多层次索引,我们就可以使用高层次的索引,来操作整个索引组的数据。创建方式第一种我们在创建Series或DataFrame时,可以通过给index(columns)参数传递多维数组,进而构建多维索引。【数组中每个维度对应位置的元素,组成每个索引值】多维索引的也可以设置名称(names属性)...

2019-06-30 21:19:09 2053

原创 数据分析(5)--Pandas数据处理(csv,sql等)

数据处理数据加载首先,我们需要将收集的数据加载到内存中,才能进行进一步的操作。pandas提供了非常多的读取数据的函数,分别应用在各种数据源环境中,我们常用的函数为:read_csvread_tableread_sql说明:read_csv与read_table默认使用的分隔符不同。常用参数read_csv与read_table常用的参数:sep / delimite...

2019-06-30 21:02:22 177

原创 数据分析(4)--Pandas+DataFrame

DataFrame类型DataFrame是一个多维数据类型。因为通常使用二维数据,因此,我们可以将DataFrame理解成类似excel的表格型数据,由多列组成,每个列的类型可以不同。因为DataFrame是多维数据类型,因此,DataFrame既有行索引,也有列索引。创建方式我们可以使用如下的方式创建(初始化)DataFrame类型的对象(常用):二维数组结构(列表,ndarray数...

2019-06-30 20:43:02 162

原创 数据分析(3)--Pandsa+Series类型用法总结

PandasPandas库基于Numpy库,提供了很多用于数据操作与分析的功能。安装与使用安装:pip install pandas根据惯例,我们使用如下的方式引入pandas:import pandas as pd两个常用数据类型pandas提供两个常用的数据类型:SeriesDataFrameSeries类型Series类型类似于Numpy的一维数组对象,可以将该类...

2019-06-30 20:28:41 260

原创 数据分析(2)--numpy的函数用法

numpy中用很多常见的函数,如果使用的好,对我们的工作帮助是很大的,本篇我会拿其中一部分来做介绍

2019-06-30 19:59:42 107

原创 数据分析(1)--numpy和list的用法对比

numpy在深度学习或者数据分析中都是很常用的一个工具库,今天我结合自己的工作内容以及学习到的一个API的用法,来说下numpy的用法NumpyNumPy(Numerical Python的简称),是科学计算基础的一个库,提供了大量关于科学计算的相关功能,例如,线性变换,数据统计,随机数生成等。其提供的最核心的类型为多维数组类型(ndarray)。使用方式可以使用如下的方式来安装numpy...

2019-06-30 18:50:39 717

原创 决策树--随机森林(bagging)

前面讲了多种常见的决策树算法,但在实际工作中,基本不会使用单棵决策树进行训练,因为一颗树很容易过拟合,而且数据量大的时候,单棵树的体积会很大,执行效率也会很慢,因此不推荐使用单棵决策树用于实际工作。 通常我们会把决策树作为分类或者回归的基分类器,然后整合多个决策树的决策结果作为最终的output,举个不恰当的例子,在找工作的时候,可能会犹豫去哪个公司,可能A公司给的工资比较高...

2019-06-24 00:02:55 403

原创 机器学习-GBDT

GBDT gbdt是一种以CART树(通常)为基分类器的boosting算法,大家可以仔细查一下boosting的介绍,这里不再赘述。 gbdt通过多轮迭代,每轮迭代产生一个弱分类器,每个分类器在上一轮分类器的残差基础上进行训练。对弱分类器的要求一般是足够简单,并且是低方差和高偏差的。因为训练的过程是通过降低偏差来不断提高最终分类器的精度,(此处是可以证明的)。...

2019-06-24 00:01:32 138

原创 机器学习--XGBoost

XGBOOST1,加入了更多的剪枝策略和正则项,控制过拟合风险。2,传统的GBDT用的是CART,Xgboost能支持的分类器更多,也可以是线性的。3,GBDT只用了一阶导,但是xgboost对损失函数做了二阶的泰勒展开,并且还可以自定义损失函数。 import xgboost as xgbimport numpy as npimport time# re...

2019-06-24 00:00:57 100

原创 机器学习--lightgbm

lightgbm是微软推出的一款boosting框架,相对于传统的xgboost有以下优点更快的训练效率 低内存使用 更好的准确率 支持并行学习 可处理大规模数据它摒弃了现在大部分GBDT使用的按层生长(level-wise)的决策树生长策略,使用带有深度限制的按叶子生长(leaf-wise)的策略。level-wise过一次数据可以同时分裂同一层的叶子,容易进行多线...

2019-06-24 00:00:22 161

转载 决策树--CART

CART( Classification And Regression Tree)也叫决策回归树1,既可以用于处理分类任务也可以用来处理回归问题,2,CART一定是二叉树3,分类任务时GINI值作为分类的依据,在处理回归问题时以最小方差作为节点分类的依据4,通常用作GBDT和一些集成学习框架的基分类器CART生成CART假设决策树是二叉树,内部结点特征的取值为“是”和“否”...

2019-06-23 21:27:47 126

原创 决策树---C4.5

C4.5 与之前说的ID3以及后续要介绍的CART相比最基本的区别就是分裂属性的选择依据不同,ID3主要根据信息增益来划分决策树,但ID3本身存在一个问题,那就是划分偏向与属性内部很纯的属性,如个人的ID信息,条件熵为0,则信息增益最大,但这样划分没有任何意义,一定会发生过拟合,所以一定要注意在训练过程中,选择合适的特征建模和训练。 C4.5 和ID3相...

2019-06-23 20:58:10 219

原创 决策树--ID3算法

ID3算法也叫决策树归纳算法,不是很使用,但是是决策树算法的开山之作,这里简单说下熵在信息论中,熵(entropy)是随机变量不确定性的度量,也就是熵越大,则随机变量的不确定性越大。设X是一个取有限个值得离散随机变量,其概率分布为:则随机变量X的熵定义为:条件熵设有随机变量(X, Y),其联合概率分布为:条件熵H(Y|X)表示在已知随机变量X的条件下,随...

2019-06-23 20:46:34 1777

原创 caffe-LMDB 数据源制作

脚本如下,注意修改路径#!/usr/bin/env sh# Create the face_48 lmdb inputs# N.B. set the path to the face_48 train + val data dirsEXAMPLE=/home/badoo/PycharmProjects/test/dataset #修改为工作目录DATA=/home/badoo/P...

2019-06-20 16:40:22 190

原创 GPU 抽帧

#include <iostream>#include "opencv2/opencv_modules.hpp"#if defined(HAVE_OPENCV_CUDACODEC)#include <fstream>#include <string>#include <vector>#include<stdio.h>#...

2019-06-16 23:59:12 559 1

原创 Video_Codec_SDK 编译

sudo apt-get install libglew-dbg libglew-dev libglew1.10 libglewmx-dbg libglewmx-dev libglewmx1.13 glew-utils

2019-06-16 19:07:49 1032

原创 Ffmpeg 硬解码编译方法

1、下载nv-codec-headersgit clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git2、编译nv-codeccd nv-codec-headers make sudo make install3、下载Ffmpeggit clone https://git.ffmpeg.org/ff...

2019-06-15 21:28:48 1210

原创 map计算方法

稍后补充!

2019-06-13 22:46:16 478

原创 机器学习--决策树基本实现

# _*_ coding:utf-8 _*_import numpy as npimport mathimport operatorimport sysimport pickledef createDataSet(): """ outlook-> 0: sunny | 1: overcast | 2: rain temperature-> 0: ...

2019-06-09 15:45:33 388

原创 机器学习--KNN基本实现

# _*_ coding _*_import numpy as npimport mathimport operatordef get_data(dataset): x = dataset[:,:-1].astype(np.float) y = dataset[:,-1] return x,y# def cal_dis(a,b):# x1,y1 = ...

2019-06-09 15:43:49 360 3

原创 机器学习--kmeans的基本实现

# _*_ coding:utf-8 _*_import numpy as npdef loadDataset(): a = np.array([(3, 4), (3, 6), (7, 3), (4, 7), (3, 8), (8, 5), (4, 5), (4, 1), (7, 4), (5, 5)]).astype(np.float) return adef init...

2019-06-09 15:42:31 256

原创 深度学习(4)--手写数字mnist实现

前面两节,讲述了梯度下降和方向传播的原理,这里我通过mnist训练来讲述下python的实现方法 头文件 numpy用于矩阵运算,random用于数据集的shuffle,mnist_loader 用于加载数据集import numpy as npimport randomimport mnist_loader 初始化网络 其...

2019-06-02 22:03:09 1093 1

原创 深度学习(3)--反向传播算法

由上一节的内容中我们知道了随机梯度下降算法,我们通过下面两个公式来进行更新,最重要的就是对两个变量weights和biases的更新,我们通过backpropagation来计算偏导数。 Backpropagation算法通过迭代性的来处理训练集中的实例 对比经过神经网络后输入层预测值(predicted value...

2019-06-02 21:08:30 1256 1

原创 深度学习(2)--梯度下降算法

最近,训练过程中遇到了一些问题,所有回头看了一些原理性的内容,学习过程做了简单记录,如果有不准确的点,欢迎大家指正。梯度下降(gradient descent) 梯度下降法的基本思想可以类比为一个下山的过程。假设这样一个场景:一个人被困在山上,需要从山上下来(i.e. 找到山的最低点,也就是山谷)。但此时山上的浓雾很大,导致可视度很低。因此,下山的路径就无法确定...

2019-06-02 18:44:52 1091

原创 深度学习--图解入门

2019-06-02 18:34:37 1201

原创 ubuntu14.04 +CUDA8.0+OpenCV3.4 编译(详细流程)

在OpenCV的图像处理过程中,高量并发任务不能完全依赖于CPU,速度达不到需求,需要我们使用CUDA的高并发特性来加速,本文中,我来介绍下如何使用CUDA对OPENCV进行编译 软件下载 在编译Opencv之前我们的电脑要安装好CUDA,这个可以参考之前caffe编译流程,下载OpenCV及OpenCV拓展包。 依赖安装 sudo apt-get up...

2019-05-31 13:27:39 1364

原创 Caffe(学习2)--隐藏层详解

在学习了上一节数据层中的参数详解后,本文内容讲主要讲述Caffe网络模型中隐藏层的独有的参数信息(name, type, bottom, top和transform_param是所有层共有参数)。1、Convolution卷积层是卷积神经网络(CNN)的核心层,但在这之前希望你了解卷积操作。拓展:在Pytorch中主要是通过nn.Conv2d(input_ch,output_...

2019-05-25 20:51:43 1354

原创 Caffe(学习1)--Data layer 详解

在开始Caffe的学习之前,希望你已经准备好了caffe环境,并且学习了Pytorch系列。CNN对我们来说不再是一个黑匣子,我们可以用自己的数据训练一个diy模型,但在实际生产中考虑到嵌入式应用和测试需要,通常将pth模型转成caffe.model进行集成,接下来我会通过Pytorch和Caffe的对比,来介绍Caffe的细节。 在Pytorch中我们可以定义一个自己的类...

2019-05-25 18:55:29 1670

原创 Pytorch(笔记7)--Data Augmentation&torchvision.transforms

对于工程算法训练,在参数和训练方法确定以后,大部分的时间是在增加数据的多样性,普适性 一方面可以防止overfiting,另外一方面可以是模型在真实场景中有更好的泛化作用。 那么如何增大我们的数据集合呢?可以通过视频数据解析,网络爬虫,数据库拖库等方法增大数据集的量级。但是一些特别的需求,比如 “face emotion”训练,这些数据是很难通过网络进行获取的,而且通过人工ta...

2019-05-21 21:55:19 2712 3

原创 Pytorch(笔记9)--读取自定义数据

Pytorch中提供一个了数据接口datasets,其中封装了很多公用数据集CIFAR10/100,ImageNet等,可以用下面的接口进行简单调用,那么如何使用Pytorch来加载我们自己制作好的trainset呢?我们从源码来找答案! train_data = datasets.CIFAR10('./cifa10',train=True,transform=trai...

2019-05-19 22:16:08 1906

原创 Pytorch(笔记8)--手写自己设计的神经网络

在训练过程中经常做的一件事儿,就是拿已有网络模型ResNet,DenseNet等迁移到自己的数据集进行finetune,之后调整各个层级的输入输出等,我们先拿经典的lenet来说如何用Pytorch实现一个网络模型。(本人推荐使用Jupyter,方便调试,也可以保存成脚本)添加依赖库import torchimport torch.nn as nnimport tor...

2019-05-19 13:45:30 1727

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