分类 机器学习 下的文章

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的数据结构。


不得不知的TensorFlow


  随着人工智能技术的快速发展,越来越多的公司和研究人员加入到其中并诞生了一系列人工智能相关的开源项目,其中就有TensorFlow,MXNet,Caffe,Keras等,这些开源库各有各的特点,它们的出现有利于开发者掌握和开发仍智能相关产品,赋予未来更多想象力。   这里之所以更关注TensorFlow其中一个原因是这是由谷歌开发的,谷歌在这方面的实力世界领先,AlphaGo带来的冲击是巨大的,表明人工智能的时代已经越来越近。   所谓TensorFlow是基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从图象的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。 TensorFlow可被用于语音识别或图像识别等多项机器深度学习领域,对2011年开发的深度学习基础架构DistBelief进行了各方面的改进,它可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。   TensorFlow同样支持GPU,分布式,可以使运行速度大大提高。