自定义博客皮肤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的专栏

专注于机器学习

  • 博客(88)
  • 资源 (24)
  • 问答 (1)
  • 收藏
  • 关注

原创 安装matplotlib时subprocess32安装出错

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

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

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

import numpy as npfrom ctypes import *a = np.asarray(range(16), dtype=np.int32).reshape([4,4])if not a.flags['C_CONTIGUOUS']: a = np.ascontiguous(a, dtype=a.dtype) # 如果不是C连续的内存,必须强制转换a_ctypes_p

2017-08-01 11:20:19 7401 1

原创 利用ctypes给python加速

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

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

原创 win10 安装 tensorflow gpu 版

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

2017-01-30 11:24:21 2219

原创 python为非root安装库

python ./setup.py install --user

2016-12-27 20:47:21 828

原创 caffe中使用python layer

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

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

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

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

2016-11-14 20:43:36 9190

原创 在windows上编译最新的caffe

在windows有很多好用的工具,而且可以用 visual studio 打开 caffe工程,非常方便地查看代码,但是Windows的编译比较麻烦,因为很多的依赖库不好编译。但是,好在caffe里面的Windows分支提供了编译好的依赖库。 关于怎么编译,我在这个 issue 里面提供了,所以这里就不再赘述。 我把编译好的caffe-Windows提供出来吧,大家如果幸运的话,应该可以直接运行

2016-10-27 16:59:33 636

原创 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: Int = d / g def this(n: Int) = this(n, 1) override

2016-10-03 23:47:05 466

原创 cublas 实战

导言搞了一段时间的CUDA程序,虽然也不是写不出复杂程序,但是写个矩阵乘法都要搞个半天,还要担心各种性能瓶颈。不过,还好有cublas,实现了非常多的数学运算,这下子可以好好利用一番。以后再也不用担心自己写的CUDA效率不高了。入门cuBLAS的官方文档再这里,不懂的函数可以查。cublas和matlab非常像,存储数组时,默认是列优先存储,而且是从1开始的。从C转过来,非常不习惯,不过你可以自己设

2016-10-03 16:43:31 12284

原创 ParseNet论文解读

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

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

原创 DeepLab论文解读

论文:DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs论文核心:这篇文章主要讲了在做DCNN时遇到的三个挑战以及他们是如何解决的。预习内容:这个论文是做语义分割的,如果没有读过其他的语义分割论文,可能需要先补习一下(传送门)。F

2016-09-29 10:46:05 10160

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

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

2016-09-27 16:51:13 1172

原创 Recent Advances in Convolutional Neural Networks

这篇博客是对Recent Advances in Convolutional Neural Networks这篇论文的一个解读感悟,不是翻译,只是解读。简介CNN从AlexNet,到VGG,GoogleNet,再到ResNet,网络层次不断在加深,而且拓扑结构也越来越复杂,其面临的目标优化、过拟合等问题也越来越难解决。基本概念卷积 卷积其实就是一个不断滑动的矩阵对应位置的点乘(不考虑旋转180°)

2016-09-24 23:49:26 2538

原创 目标检测论文回顾

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

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

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

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

2016-09-11 22:16:58 478

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

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

2016-09-09 22:43:58 11540

翻译 梯度下降算法概述

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

2016-08-31 13:52:29 1066

原创 Linux程序设计 笔记

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

2016-06-30 00:31:55 694

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

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

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

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

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

2016-06-22 15:56:46 3411

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

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

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

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

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

2016-06-22 14:26:17 6631 6

原创 C++的多态

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

2016-06-15 20:47:02 799

原创 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 1589

原创 CRF as RNN 代码解读

论文:http://www.robots.ox.ac.uk/~szheng/papers/CRFasRNN.pdf, CRF as RNN论文的代码在https://github.com/bittnt/caffe/tree/6a29e7c484ed0ef22224e7b7b555fbc5b4045cc3可以找到。 这篇博文主要是记录自己对CRF as RNN中的 MultiStageMeanfi

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

原创 字符串搜索

字符串搜索是一种非常常见的应用,暴力搜索是直接去匹配各个字符,但是这种方法对于重复度较高的字符串来说,有点浪费计算了。KMP算法利用子串本身的特性,试图建立一种状态机,指出匹配到当前字符串的状态如何。http://blog.csdn.net/thesby/article/details/51243270Next数组怎么求?next数组的求解方法是:第一位的next值为0,第二位的next值为1,后面

2016-06-01 22:37:10 570

原创 matplotlib 资料收集

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

2016-05-19 14:57:38 470

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

2016-05-16 14:53:14 2865

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

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

2016-05-11 20:44:27 1020

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

有的文件特别大,U盘什么的一次又装不下,虽然可以用分卷压缩,但是压缩解压又要好久,还不如直接使用Linux的命令来解决。split 可以用于切割文件。可以用man 查看下帮助。短选项  长选项                                  选项描述-b          –bytes=SIZE SIZE             值为每一输出档案的大小,单位为 byt

2016-05-08 10:13:06 2357

原创 用 python skimage做图像处理

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

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

原创 caffe python layer

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

2016-04-27 21:04:12 25402 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 frameworks for deep learning, if not the best.Let’s tr

2016-04-27 11:19:25 2866

原创 KMP算法,字符串搜索

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

2016-04-25 16:30:33 669

原创 pycaffe学习

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

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

原创 cygwin apt-cyg

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

2016-04-22 11:02:19 1318

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

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

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

原创 CRF图像分割简介

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

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

原创 在win10 64 bit上安装theano

在windows10上安装theano,步骤如下: 1、准备工作。先安装Anaconda 64位。然后运行conda install mingw libpython2、先安装pycuda,可以去官网上下载最新版本的。1)解压后,用命令行进入目录。2)运行 python configure.py3)然后打开siteconf.py,编辑对应的内容,比如我的:BOOST_INC_DIR = [r"D

2016-03-23 01:50:43 2158

自制编程语言 原书代码

自制编程语言原书代码完整版,亲自测试,可以编译通过。

2018-10-16

Generative Adversarial Nets

Generative Adversarial Nets

2016-09-13

RCNN-FAST RCNN-FASTER RCNN

rcnn, sppnet, fast rcnn, faster rcnn, YOLO, SSD,目标检测论文大合集,赶紧下载吧! Faster R-CNN_ Towards Real-Time Object Detection with Region Proposal Networks Girshick_Fast_R-CNN_ICCV_2015_paper Liang_Recurrent_Convolutional_Neural_2015_CVPR_paper Rich feature hierarchies for accurate object detection and semantic segmentation Tech report Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition SSD_ Single Shot MultiBox Detector You Only Look Once Unified, Real-Time Object Detection

2016-09-13

GRE北美范文

GRE北美范文,word文档格式,方便查看

2016-02-03

Caffe For Windows VS2012完整版,带第三方库

caffe+ vs2012,我已经编译成功了,并且发了关于这个安装的博文,欢迎下载,有什么问题,请到该博文下评论,我会尽力回答。

2015-01-31

neural information processing(19th) 2012 (1).pdf

neural information processing(19th) 2012 (1).pdf,very new.

2014-09-23

Neural Networks and Learning Machines (3rd Edition).pdf

Neural Networks and Learning Machines (3rd Edition).pdf 这本是全英文的文字版资源。大家如果学习machine learning 的话,建议自己看英文的,毕竟这东西国外比国内要先进得多,不能让英语成为障碍。而且,原版的东西绝对比翻译的要准确些,无论翻译的水平有多高。

2014-09-23

Solidworks2010教程

Solidworks2010教程,非常详细,非常清晰。

2013-05-08

精通MATLAB最优化计算

《精通MATLAB最优化计算》的电子版,可用超星阅读器打开,非常好用哦。

2012-09-04

matlab批量读入excel表格,可以读文件和sheet

matlab批量读入excel表格,可以读文件和sheet。非常适用于大批量数据处理,欢迎大家下载!

2012-08-12

MATLAB微分方程模型

MATLAB微分方程模型,包含了各种常见的微分模型,欢迎大家下载和指教。

2012-07-22

LINGO 13.0 教程

LINGO13.0详细教程,欢迎大家下载,非常适合初学者以及想进入LINGO高级编程的人员,好好学习吧!

2012-07-22

DPS使用教程.pdf

DPS使用教程.pdf ,详细讲解了DPS的各种应用。 DPS是一种数据处理软件,功能非常强大,无需任何编程,即可完成各种操作。

2012-07-22

matlab\图论软件包.rar

matlab\图论软件包.rar ,欢迎大家下载。

2012-07-17

lingo9.0完美破解(变量无限制)运行极稳定

lingo9.0完美破解(变量无限制)运行极稳定,欢迎大家下载,按照提示去做即可。

2012-07-15

混凝土隧道裂缝分析及软件开发

大体积混凝土隧道裂缝分析及软件开发,帮准您进行大体积混凝土隧道裂缝分析。同时利用软件,提高设计效率。

2012-07-15

Proteus使用教程

相信搞汇编及嵌入式开发的人对于proteus应该不陌生吧,它是一款非常好的仿真软件,这里是它的使用教程,希望能够帮助大家。

2012-07-01

51单片机学习网Keil_uVision3使用教程

这是51单片机开发时使用Keil_uVision3进行编程的良好指导书,希望能够帮助大家好好学好单片机编程。单片机重在自己动手编程学习。

2012-07-01

LED散热分析与热设计

关于LED灯具的散热问题研究与设计,更关键的是提供了一些解决方案,供大家参考。欢迎下载。

2012-07-01

C++结构化程序设计

讲解C++结构化程序设计,详细而又具体。欢迎大家下载。

2011-06-13

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

TA关注的人

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