<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[GVFDBDF的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/GVFDBDF</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; GVFDBDF]]></copyright><item><title><![CDATA[python多进程并发之multiprocessing]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/53584299</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/53584299</guid><author>GVFDBDF</author><pubDate>Mon, 12 Dec 2016 16:22:57 +0800</pubDate><description><![CDATA[multiprocessing.Processmultiprocessing包是Python中的多进程管理包。它与 threading.Thread类似，可以利用multiprocessing.Process对象来创建一个进程。该进程可以允许放在Python程序内部编写的函数中。该Process对象与Thread对象的用法相同，拥有is_alive()、join([timeout])、run()、s]]></description><category></category></item><item><title><![CDATA[Python并发之GIL的限制]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/53579885</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/53579885</guid><author>GVFDBDF</author><pubDate>Mon, 12 Dec 2016 10:10:13 +0800</pubDate><description><![CDATA[GIL是什么首先需要明确的一点是GIL并不是Python的特性，它是在实现Python解析器(CPython)时所引入的一个概念。就好比C++是一套语言（语法）标准，但是可以用不同的编译器来编译成可执行代码。有名的编译器例如GCC，INTEL C++，Visual C++等。Python也一样，同样一段代码可以通过CPython，PyPy，Psyco等不同的Python执行环境来执行。像其中的JPy]]></description><category></category></item><item><title><![CDATA[python对象引用引起的问题]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/53207800</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/53207800</guid><author>GVFDBDF</author><pubDate>Thu, 17 Nov 2016 22:24:31 +0800</pubDate><description><![CDATA[我们都知道python中一切皆是对象，这句话我记得很清楚，但是平时用起来确也容易混淆。今天遇到一个bug，大概情况是这样：a = [1,2,3]
b = [11,22,33]
c = [a,b]
print c# c = [[1, 2, 3], [11, 22, 33]]我在一个文件中修改了a，而在另一个列表中读c，结果发现c总是不对…..检查好久才想起来了，c中存贮的a应该是a的引用，也就是pyt]]></description><category></category></item><item><title><![CDATA[排列组合算法]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/52882563</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/52882563</guid><author>GVFDBDF</author><pubDate>Fri, 21 Oct 2016 13:45:41 +0800</pubDate><description><![CDATA[排列和组合是两种不同的算法，排列所求的k个数，数的排序不同则为一种不同情况，总共有k!中可能情况求全排列最常用的算法就是按照字典式排序(STL)，字典式排序从第一位开始找最小的数，然后依次找每一位能够存在的最小的数（和已存在的排列不重复），主要步骤如下（以123456为例）：
第一个数是每一位能取到的最小的数，也就是123456
从第二个数开始就按照以下算法来寻找： 
在上一个排列中， 找到最后一个]]></description><category></category></item><item><title><![CDATA[python装饰器简介]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/52606295</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/52606295</guid><author>GVFDBDF</author><pubDate>Wed, 21 Sep 2016 11:51:45 +0800</pubDate><description><![CDATA[python装饰器的概念建立在python中，一切皆是对象的基础上。正是因为一切皆是对象，所以函数可以作为参数传入，可以添加函数的功能。装饰器简单来说就是对函数进行修饰，多用于添加函数的功能。接受和处理函数对象。企业级应用中最常用到，比如引入日志，增加性能检测功能，事务处理能力等等。下面一步步来理解装饰器1. 首先是最简单的python函数def foo():
    print "I am foo]]></description><category></category></item><item><title><![CDATA[python比较函数min]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/52599705</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/52599705</guid><author>GVFDBDF</author><pubDate>Tue, 20 Sep 2016 20:40:40 +0800</pubDate><description><![CDATA[好久没写python，结果今天吃了一个大亏，唉~~在Python3.x的世界里，cmp函数没有了。那么sorted,min,max等需要比较函数作为参数的函数该如何用呢？以min函数为例进行说明基础用法
min(iterator)
min(arg1, arg2)
>>> l = [2,4,1,6,23,7,232,42]
>>> min(l)
1>>> min(1,5,7)
1
这里要说明的是dic]]></description><category></category></item><item><title><![CDATA[Caffe:深度学习中 epoch，batch size, iterations的区别]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/52562398</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/52562398</guid><author>GVFDBDF</author><pubDate>Sat, 17 Sep 2016 11:42:25 +0800</pubDate><description><![CDATA[转自：http://blog.youkuaiyun.com/qq_18515405/article/details/51821125
在大部分深度学习架构中都抛不开三个概念epoch，[batch size], iterations；接下来就对这三个概念逐一解释一下
one epoch：所有的训练样本完成一次Forword运算以及一次BP运算
batch size：一次Forword运算以及BP运算中所需要的训]]></description><category></category></item><item><title><![CDATA[C++类成员函数转换成函数对象]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/52550668</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/52550668</guid><author>GVFDBDF</author><pubDate>Thu, 15 Sep 2016 19:39:27 +0800</pubDate><description><![CDATA[C++中，类的成员函数(member_function)通常不能直接作为函数对象来使用，最常见的就是创建线程时，不能使用非静态的成员函数来初始化一个线程。
这个主要是因为没有传入this指针，而下面的转换或者绑定，本质是将类对象指针传入或者说绑定到参数上
C++提供这方面的转换方式，最常用的就是mem_fn（since C++11）和bind
  更多关于函数适配器的说明和用法，请参考这篇博文
me]]></description><category></category></item><item><title><![CDATA[C++11并发/多线程编程系列（3）]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/52540740</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/52540740</guid><author>GVFDBDF</author><pubDate>Wed, 14 Sep 2016 18:25:05 +0800</pubDate><description><![CDATA[转自：http://www.cnblogs.com/haippy/p/3237213.html
std::mutex 详解Mutex 又称互斥量，C++ 11中与 Mutex 相关的类（包括锁类型）和函数都声明在 <mutex> 头文件中，所以如果你需要使用 std::mutex，就必须包含 <mutex>头文件。
  pthread下有pthread_mutex
<mutex> 头文件介绍Mute]]></description><category></category></item><item><title><![CDATA[C++11并发/多线程编程系列（2）]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/52540302</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/52540302</guid><author>GVFDBDF</author><pubDate>Wed, 14 Sep 2016 17:28:36 +0800</pubDate><description><![CDATA[转自http://www.cnblogs.com/haippy/p/3236136.html
std::thread详解std::thread在头文件<thread>中声明，因此使用 std::thread 时需要包含 <thread>头文件。
  default(1)
  thread() noexcept;  initialization (2)
  template <class Fn, cl]]></description><category></category></item><item><title><![CDATA[C++11并发/多线程编程系列（1）]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/52539811</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/52539811</guid><author>GVFDBDF</author><pubDate>Wed, 14 Sep 2016 16:58:43 +0800</pubDate><description><![CDATA[转自：http://www.cnblogs.com/haippy/p/3235560.html
1. 与 C++11 多线程相关的头文件C++11 新标准中引入了四个头文件来支持多线程编程，他们分别是<atomic>, <thread>, <mutex>, <condition_variable>, <future>
<atomic>：该头文主要声明了两个类, std::atomic 和 std::]]></description><category></category></item><item><title><![CDATA[KMP字符串匹配]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/52485788</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/52485788</guid><author>GVFDBDF</author><pubDate>Fri, 09 Sep 2016 11:51:14 +0800</pubDate><description><![CDATA[经典的字符串匹配算法，原理什么的网上一堆，主要是记录一下代码，有些忘了…..原理摸我
// KMP算法要点：
// 
// 移动位数 = 已匹配的字符数 - 对应的部分匹配值
// 
// 部分匹配值就是一个字符串"s0s1s2.....sn"(已匹配的字符构成)的前缀和后缀的最长共有元素的长度
// 
// 先求目标子串的匹配值表, 然后进行匹配, 匹配过程中, 根据匹配值表和已匹配字符数来移动]]></description><category></category></item><item><title><![CDATA[GCC编译器一些参数区别(-I -l -L)]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/52457139</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/52457139</guid><author>GVFDBDF</author><pubDate>Wed, 07 Sep 2016 10:26:24 +0800</pubDate><description><![CDATA[我们用gcc编译程序时，常常会用到“-I”（大写i），“-L”（大写l），“-l”（小写l）等参数，下面做个记录：例：gcc -o hello hello.c   -I/home/hello/include   -L/home/hello/lib    -lworld上面这句表示在编译hello.c时：
-I /home/hello/include，表示将/home/hello/include目录作]]></description><category></category></item><item><title><![CDATA[数据库事务及ACID特性浅谈]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/52371062</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/52371062</guid><author>GVFDBDF</author><pubDate>Tue, 30 Aug 2016 17:02:58 +0800</pubDate><description><![CDATA[1. 事务
定义：所谓事务，它是一个操作序列，这些操作要么都执行，要么都不执行，它是一个不可分割的工作单位。
准备工作：为了说明事务的ACID原理，我们使用银行账户及资金管理的案例进行分析。
// 创建数据库  
create table account(  
   idint primary key not null,  
   namevarchar(40),  
   moneydouble]]></description><category></category></item><item><title><![CDATA[python使用generator生成list]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/52249354</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/52249354</guid><author>GVFDBDF</author><pubDate>Fri, 19 Aug 2016 11:46:50 +0800</pubDate><description><![CDATA[list官方文档：
Lists are mutable sequences, typically used to store collections of homogeneous items (where the precise degree of similarity will vary by application).
class list([iterable])Lists may be con]]></description><category></category></item><item><title><![CDATA[C++ int和string相互转换]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/52224641</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/52224641</guid><author>GVFDBDF</author><pubDate>Tue, 16 Aug 2016 20:19:07 +0800</pubDate><description><![CDATA[别管什么效率了，先挑最简单用着
int转string
std::stringstream ss;
int a = 123;
ss << s;
std::string str;
ss >> str;
string转int
std::string str("123")
int n = atoi(str.c_str())]]></description><category></category></item><item><title><![CDATA[Faster-RCNN训练自己的数据集]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/52214008</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/52214008</guid><author>GVFDBDF</author><pubDate>Mon, 15 Aug 2016 19:34:11 +0800</pubDate><description><![CDATA[就目前我在了解到的资料来看，训练RCNN系列，一般有两种思路：
修改CNN的工程代码，适应自己的数据集格式
将自己的数据格式做成VOC2007形式的数据集
从工作量来看，无疑后者更容易一些，本文的思路也是如此。
首先是图片的命名格式，虽然图片的命名理论上不会影响训练。因为训练的数据都是从txt文件中读取图片的名称。但是为了统一数据集，仍然建议批量、有规律的命名数据图片。我的数据集是jpg格式，和PA]]></description><category></category></item><item><title><![CDATA[导出函数__declspec(dllexport)]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/52204240</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/52204240</guid><author>GVFDBDF</author><pubDate>Sun, 14 Aug 2016 14:12:26 +0800</pubDate><description><![CDATA[一般而言，动态链接库中定义有两种函数：导出函数(export   function)和内部函数(internal   function)。  
导出函数可以被其它模块调用，内部函数在定义它们的DLL程序内部使用。 在要输出的函数、类、数据的声明前加上__declspec(dllexport)的修饰符，表示输出。有导出就有导入__declspec(dllimport)，声明某个类、函数是从dll中导入]]></description><category></category></item><item><title><![CDATA[git子模块更新的两个错误解决]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/52152534</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/52152534</guid><author>GVFDBDF</author><pubDate>Mon, 08 Aug 2016 15:44:15 +0800</pubDate><description><![CDATA[最近在clone faster-RCNN工程时，出现了两个问题，记录一下解决方法。1. 问题描述因为网络原因，我在Linux上clone这个仓库时，总是连接失败，导致我不得不在另一台电脑上clone。然后我将整个文件夹直接scp到linux上时，进行子模块的更新时，出现了第一个问题：fatal: Not a git repositor在解决第一个问题时，又出现了第二个问题：fatal: Needed]]></description><category></category></item><item><title><![CDATA[python异步IO和协程]]></title><link>https://blog.youkuaiyun.com/GVFDBDF/article/details/52116661</link><guid>https://blog.youkuaiyun.com/GVFDBDF/article/details/52116661</guid><author>GVFDBDF</author><pubDate>Thu, 04 Aug 2016 10:18:42 +0800</pubDate><description><![CDATA[本文对python协程做一些总结，来自平时的学习和一些博客资料1. 异步IO关于异步IO的讲解，网上资料太多了，我以前的文章也提到过，此处只做一些简单介绍：
异步IO采用消息循环的模式，重复“读取消息—处理消息”的过程
消息模型解决等待IO操作的问题： 
程序发出IO请求，直接结束本轮消息处理，进入下一轮消息的处理
当IO操作完成守，将收到一条IO完成的消息，处理该消息时获取IO操作的结果
在IO操]]></description><category></category></item></channel></rss>