Tony 发布的文章

地理空间数据格式转化库之GDAL


  GDAL是一个用于光栅和矢量地理空间数据格式转换的开源库。如果要读取空间数据这个库是必不可少的,它可以操作各种栅格地理数据格式,包括读取、写入、转换、处理各种栅格数据。这个库还同时包括了操作矢量数据的另一个有名的库OGR,这样这个库就同时具备了操作栅格矢量数据的能力。


Caffe源码解读之Net(四)


Net涉及到的源码不多,主要原因是: Net由一系列的Layer组成(无回路有向图DAG),Layer之间的连接由一个文本文件描述。模型初始化Net::Init()会产生blob和layer并调用Layer::SetUp。在此过程中Net会报告初始化进程。这里的初始化与设备无关,在初始化之后通过Caffe::set_mode()设置Caffe::mode()来选择运行平台CPU或GPU,结果是相同的。


Caffe源码解读之Layer(三)


  Layer涉及到的代码较多。   在Layer中,所有的Pooling,Convolve,apply nonlinearities等操作都在这里实现。在Layer中input data用bottom表示output data用top表示。每一层定义了三种操作setup(Layer初始化), forward(正向传导,根据input计算output), backward(反向传导计算,根据output计算input的梯度)。forward和backward有GPU和CPU两个版本的实现(.cu即GPU版本的实现)。


Caffe源码解读之Blob(二)


  阅读Caffe的源码不必全部看,这样反而达不到目的,理解关键部分即可。现在我们来看Blob结构部分,按头文件和核心文件来阅读,即 /include和 /src部分,推荐使用Atom来看。   在/include/blob.hpp中定义了了Blob的数据结构。