自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

thesby的专栏

专注于机器学习

原创 安装matplotlib时subprocess32安装出错

subprocess32模块现在已经被subprocess取代了,已经很久不更新,现在安装,可能会编译不通过。这样导致matplotlib没法安装。 解决办法: 下载matplotlib源码,把setup.py中的setupext.Subprocess32(),这一行注释掉, 然后编译就好了。

2017-10-18 15:52:14 4975 1

原创 利用ctypes获取numpy数组的指针

import numpy as np from ctypes import *a = np.asarray(range(16), dtype=np.int32).reshape([4,4]) if not a.flags['C_CONTIGUOUS']: a = np....

2017-08-01 11:20:19 4771 0

原创 利用ctypes给python加速

好久没写博客了,来水一篇,今天写写怎么用ctypes给Python加速。最近在用pyspark,然而Python效率实在太低,只能用C加速了。先说说结果,加速后C运行速度比Python快1000倍,因为我们的程序有特别大的双层循环,还有位操作。用C的时候,我还用了一些memcpy, memset,...

2017-07-28 21:30:23 4707 1

原创 win10 安装 tensorflow gpu 版

先打开网址https://storage.googleapis.com/tensorflow 可以看到目前的所有tensorflow已编译版本。直接翻到最后面,找到windows的。比如当前最新的为:<Contents> <Key> windows/gpu/tensorf...

2017-01-30 11:24:21 2073 0

原创 python为非root安装库

python ./setup.py install --user

2016-12-27 20:47:21 668 0

原创 caffe中使用python layer

在上一篇博文中已经介绍了很多如何在caffe中使用python 层。有一些人问到如何使用这些层。 首先需要在编译caffe时,允许python layer,在配置文件中设置。 写好自己的层之后,需要 export $PYTHONPATH=./path/to/my_layers_dir:$...

2016-11-16 21:28:34 3761 2

原创 深度学习中的数据扩增方法

图像平移。这种方法可以使得网络学习到平移不变的特征。 图像旋转。学习旋转不变的特征。有些任务里,目标可能有多种不同的姿态,旋转正好可以弥补样本中姿态较少的问题。 图像镜像。和旋转的功能类似。 图像亮度变化。 裁剪。 缩放。

2016-11-14 20:43:36 6951 0

原创 在windows上编译最新的caffe

在windows有很多好用的工具,而且可以用 visual studio 打开 caffe工程,非常方便地查看代码,但是Windows的编译比较麻烦,因为很多的依赖库不好编译。但是,好在caffe里面的Windows分支提供了编译好的依赖库。 关于怎么编译,我在这个 issue 里面提供了,所以...

2016-10-27 16:59:33 523 0

原创 Scala入门笔记

一个构建有理数的scala例子class Rational(n: Int, d: Int) { require(d!=0) private val g = gcd(n.abs, d.abs) //最大公约数 val numer: Int = n / g val denom: In...

2016-10-03 23:47:05 354 0

原创 cublas 实战

导言搞了一段时间的CUDA程序,虽然也不是写不出复杂程序,但是写个矩阵乘法都要搞个半天,还要担心各种性能瓶颈。不过,还好有cublas,实现了非常多的数学运算,这下子可以好好利用一番。以后再也不用担心自己写的CUDA效率不高了。入门cuBLAS的官方文档再这里,不懂的函数可以查。cublas和ma...

2016-10-03 16:43:31 9291 0

原创 ParseNet论文解读

导言其实图像语义分割和目标检测如果对比起来看到话,基本上是一样的任务。目标检测需要定位目标并找到最准确的框,而语义分割是把目标分割出来。由此可见,语义分割是比目标检测更困难的任务。有时候并不需要分割出目标,只需要框出来就可以了,比如行人检测,就不一定要把它分割出来,所以目标检测的算法用途也很广泛。...

2016-09-29 13:37:18 4713 1

原创 DeepLab论文解读

论文:DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs论文核心:这篇文章主要讲了在做DCNN时遇到的三个挑战以及他们是如何解...

2016-09-29 10:46:05 8067 0

原创 在可视化环境下进行Caffe网络设计

本来说不再写这种太low的博文,要写点高大上的东西,无奈,有时候一些小工具小技巧还不错,还是希望分享出来。所以就水一篇技术博文吧。本文主要是讲如何在可视化环境下进行caffe的网络设计。如果你有网可用的话,直接进入传送门,接下来的东西与你无关。如果需要在本地使用,就要进行如下操作了。 下载http...

2016-09-27 16:51:13 1070 0

原创 Recent Advances in Convolutional Neural Networks

这篇博客是对Recent Advances in Convolutional Neural Networks这篇论文的一个解读感悟,不是翻译,只是解读。简介CNN从AlexNet,到VGG,GoogleNet,再到ResNet,网络层次不断在加深,而且拓扑结构也越来越复杂,其面临的目标优化、过拟合...

2016-09-24 23:49:26 1797 0

原创 目标检测论文回顾

看了一段时间的目标检测的论文,在这里写个文章总结一下吧。不一定理解正确,如有问题,欢迎指正。1、RCNNRCNN是基于selective search(SS) 搜索Region proposal(RP),然后对每个RP进行CNN的Inference,这个算法比较直接。 框架应该也挺容易看明白...

2016-09-24 23:02:01 3697 4

原创 c++常用字符串处理

//分割字符串,以delim为分隔符。 //s: string,输入的字符串 //delim: string,分隔符,注意:这个字符串中的每个字符都会被当做分隔符。 //ret,vector,用来存储返回的所有被分割的字符串 //注意:当字符串为空时,也会返回一个空字符串 void split(s...

2016-09-11 22:16:58 413 0

原创 笔试时怎么用Python读取输入行

在笔试时,有时候用Python进行数据处理比C++要方便很多,但是如何能够顺利地读入数据呢?如果使用input(),那么输入时不能有空格分割,这不是我们想要的。 比如我们需要一次读取一行,可以使用sys.stdin.for line in sys.stdin #operate(line)...

2016-09-09 22:43:58 8190 0

翻译 梯度下降算法概述

梯度下降算法概述本文是翻译的 An overview of gradient descent optimization algorithms,翻译时并不一定遵照原文的表述,主要是以将问题表达清楚为主要目的。

2016-08-31 13:52:29 868 0

原创 Linux程序设计 笔记

入门编译1、gcc -o hello hello.c 命令可以把 hello.c编译为 hello,其中-o指定编译后目标。如果不指定,就编译为a.out。 2、Linux很多可执行程序在 /usr/bin可以找到,头文件通常放置于 /usr/include 3、-I (这是大写的ai)后接要...

2016-06-30 00:31:55 589 0

原创 用 caffe做图像分割实验时,loss值很诡异

最近在做图像分割的实验,使用的是CRF as RNN的网络,但是训练起来有些诡异,loss降低得飞快,不一会儿就降一半。然后一直到个位数时,我觉得应该可以test了。然后使用训练好了的模型,用python接口加载,输出结果一看,全是黑的,没有分割。仔细想想,这个loss值这么低,不应该会这样阿!难...

2016-06-22 16:12:45 9571 11

原创 caffe 为什么看不到自己定义的输出?

caffe 为什么看不到自己定义的输出?因为自己定义的位置不对。比如你用gpu跑的时候,你必须写在 .cu 里面,如果是用cpu跑,那么必须写在 .cpp 里面。一般建议调试的时候用cpu来跑,除非你非常熟悉 CUDA 程序。再就是 caffe 有好几个输出级别,一般的信息输出是 INFO,错误是...

2016-06-22 15:56:46 3323 0

原创 Check failed: status == CUBLAS_STATUS_SUCCESS (11 vs. 0) CUBLAS_STATUS_MAPPING_ERROR

caffe出现这个问题时,总让人摸不着头脑,不知从哪儿开始排查问题。     网上搜索资料,发现有人说是label做得不对,比如只有1没有0。但是这个是问题吗?就不能只有一个标签吗?     不过这种说法是说对了一半。     我是做图像分割时出现这个问题的,caffe用opencv读取图像...

2016-06-22 14:41:16 13998 13

原创 caffe Check failed: cv_img.data Could not load问题排查记录

今天跑自己做的数据库时出了个问题,一直无法加载图片,网上搜了半天无果,用python检查那个文件也是完全存在的。 接下来就怀疑是不是自己的opencv有问题,但是编译的时候并没有错啊,现在是有点懵了。打开 io.cpp, 看到第80行,也就是一个检查opencv读取是否正常的,无奈。继续看输出日志...

2016-06-22 14:26:17 6021 5

原创 C++的多态

C++的多态一直是初级程序员的痛,因为总感觉找不到里面的套路。一般讲到的多态往往和虚函数有关,但有的书籍讲到模板和重载也算多态,只不过是静态多态,即在编译器就确定了函数的调用形式。我们这里遵从大多数认为的,也就是前者的动态多态,只有在运行期间才能确定函数的调用。什么是多态面向对象编程有三个重要的特...

2016-06-15 20:47:02 736 0

原创 CUDA资源汇总

1、视频教程 中科大 周斌 老师的视频课,讲述比较细致。 http://www.iqiyi.com/a_19rrhbvoe9.htmlCUDA开发者系列培训 http://v.youku.com/v_show/id_XMTI4NTM1Mzc0OA==.html?f=25920932

2016-06-08 12:39:39 1395 0

原创 CRF as RNN 代码解读

论文:http://www.robots.ox.ac.uk/~szheng/papers/CRFasRNN.pdf, CRF as RNN论文的代码在https://github.com/bittnt/caffe/tree/6a29e7c484ed0ef22224e7b7b555fbc5b404...

2016-06-06 10:16:11 5805 2

原创 字符串搜索

字符串搜索是一种非常常见的应用,暴力搜索是直接去匹配各个字符,但是这种方法对于重复度较高的字符串来说,有点浪费计算了。KMP算法利用子串本身的特性,试图建立一种状态机,指出匹配到当前字符串的状态如何。http://blog.csdn.net/thesby/article/details/51243...

2016-06-01 22:37:10 436 0

原创 matplotlib 资料收集

1、怎么使用matplotlib绘图 http://old.sebug.net/paper/books/scipydoc/matplotlib_intro.html#http://www.tuicool.com/articles/nEnUNfQ2、怎么配置matplotlib http://b...

2016-05-19 14:57:38 393 0

原创 开源深度学习库对比总结

2016-05-16 14:53:14 2710 0

原创 Deep learning 资料汇总--持续更新

这篇博客主要是把自己了解到的一些深度学习理论及应用方面的资料整合起来,方便以后查阅。1 Deep learning 概述1、Understanding Aesthetics with Deep Learning https://devblogs.nvidia.com/parallelforall...

2016-05-11 20:44:27 880 0

原创 Linux大文件的切割与合并

有的文件特别大,U盘什么的一次又装不下,虽然可以用分卷压缩,但是压缩解压又要好久,还不如直接使用Linux的命令来解决。 split 可以用于切割文件。可以用man 查看下帮助。 短选项  长选项                                  选项描述 -b       ...

2016-05-08 10:13:06 1559 0

原创 用 python skimage做图像处理

导言:由于经常需要处理图像,习惯了matlab那么好用的图像处理工具箱,搬到python后有点不知所措了。搜了下python图像处理方面的库,好多PIL的教程,但是无奈的是PIL和numpy等结合不好,而且半天找不到图像处理的函数在哪里,只好作罢;终于搜到了skimage,:-),喜出望外,因为它...

2016-05-08 00:15:53 32384 3

原创 caffe python layer

caffe的大多数层是由c++写成的,借助于c++的高效性,网络可以快速训练。但是我们有时候需要自己写点输入层以应对各种不同的数据输入,比如你因为是需要在图像中取块而不想写成LMDB,这时候可以考虑使用python直接写一个层。而且输入层不需要GPU加速,所需写起来也比较容易。python层怎么用...

2016-04-27 21:04:12 24718 4

转载 pycaffe

本文转载自http://christopher5106.github.io/deep/learning/2015/09/04/Deep-learning-tutorial-on-Caffe-Technology.html Caffe is certainly one of the best fr...

2016-04-27 11:19:25 2708 0

原创 KMP算法,字符串搜索

相比于暴力方法,KMP算法进行字符串搜索时可以根据子串自己的特性,以确定当前是否匹配成功。简单来讲,就是使用了子串的每个字符的集合作为一个状态,创建一个有限状态机(DFA)。 比如要查找的子串为 ABABAC,那么对于每个位置的状态只有三个,即A、B、C,所以可以建立如下表格: j 0 ...

2016-04-25 16:30:33 568 0

原创 pycaffe学习

环境: ubuntu14.04 64bit, python2.7(not anaconda), caffe当前最新版首先可以看下caffe官网给出的pycaffe有关介绍:caffe.Net is the central interface for loading, configuring, an...

2016-04-22 11:21:55 3667 1

原创 cygwin apt-cyg

使用cygwin时,如果安装软件选择用setup.exe,会发现实在太慢了,而且又不好找。apt-cyg和Ubuntu上面的apt-get是类似的东西,可以方便的安装需要的软件。 下面贴出apt-cyg的程序,可以把它放到/bin目录下,并加上 x 权限。#!/bin/bash # vim: s...

2016-04-22 11:02:19 1100 0

原创 利用pycaffe提取caffe model中的参数

实验平台: ubuntu 14.04, python2.7, caffe当前最新版有时候我们需要查看、修改caffe的网络参数,苦于caffe本身是c++编写,如果想从c++中提取,明显这个太困难。我们使用python来实现这个,每一步都可以查看参数,所以就容易很多。import sys impo...

2016-04-18 11:29:16 5538 1

原创 CRF图像分割简介

这里主要是讲Conditional Random Fields(CRF)用于pixel-wise的图像标记(其实就是图像分割)。CRF经常用于 pixel-wise的label 预测。当把像素的label作为形成马尔科夫场随机变量且能够获得全局观测时,CRF便可以对这些label进行建模。这种全局...

2016-03-24 10:53:36 15406 4

原创 在win10 64 bit上安装theano

在windows10上安装theano,步骤如下: 1、准备工作。先安装Anaconda 64位。然后运行conda install mingw libpython2、先安装pycuda,可以去官网上下载最新版本的。1)解压后,用命令行进入目录。 2)运行 python configure.py...

2016-03-23 01:50:43 2015 0

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