caffe2 安装与介绍
http://blog.csdn.net/yan_joy/article/details/70241319

版权声明:本文为博主原创文章,转载请标注出处。
一早发现caffe2的较成熟的release版发布了(the first production-ready release),那么深度学习平台在之后一段时间也是会出现其与tensorflow相互竞争的局面。
从打开这个caffe2的官网就会发现,有了Facebook的支持,连界面也好看多了。不过再仔细看看,觉得又和tensorflow有一丝像,从内到外。
Caffe 2 Caffe2
Caffe2 中基本计算单元之一是 Operators。每个 Operator 包含给定适当数量和类型的输入和参数来计算输出所需的逻辑。Caffe 和 Caffe2 功能的总体差异如下图所示:
One of basic units of computation in Caffe2 are the Operators. Each operator contains the logic necessary to compute the output given the appropriate number and types of inputs and parameters. The overall difference between operators’ functionality in Caffe and Caffe2 is illustrated in the following graphic, respectively:
看到这段话,是不是更觉得像是tensorflow了?之前layer的概念被弱化,数据与操作完全分开,不就是tensorflow里面需要定义的tf.matmul
和tf.Variable
这类吗?
其次提出的workspace
概念很像是tf中的Session:
# Create the input data data = np.random.rand(16, 100).astype(np.float32) # Create labels for the data as integers [0, 9]. label = (np.random.rand(16) * 10).astype(np.int32) workspace.FeedBlob("data", data) workspace.FeedBlob("label", label) # Create model using a model helper m = cnn.CNNModelHelper(name="my first net") fc_1 = m.FC("data", "fc1", dim_in=100, dim_out=10) pred = m.Sigmoid(fc_1, "pred") [softmax, loss] = m.SoftmaxWithLoss([pred, "label"], ["softmax", "loss"])
54
网络的编写也向tf靠拢了(学了点tf还是有点用的)。
最后还要说一点就是对Python的支持大大增强了,当然这也是深度学习的趋势。
安装
4.18发布的版本号为v0.7.0,官网上的安装教程比较详细,也比较好操作Install。
依赖库
sudo apt-get update sudo apt-get install -y --no-install-recommends \ build-essential \ cmake \ git \ libgoogle-glog-dev \ libprotobuf-dev \ protobuf-compiler \ python-dev \ python-pip sudo pip install numpy protobuf
GPU支持
这一部分主要是CUDA与cuDNN,在之前的博客中有讲到过。
可选库
# for both Ubuntu 14.04 and 16.04 sudo apt-get install -y --no-install-recommends \ libgtest-dev \ libiomp-dev \ libleveldb-dev \ liblmdb-dev \ libopencv-dev \ libopenmpi-dev \ libsnappy-dev \ openmpi-bin \ openmpi-doc \ python-pydot sudo pip install \ flask \ graphviz \ hypothesis \ jupyter \ matplotlib \ pydot python-nvd3 \ pyyaml \ requests \ scikit-image \ scipy \ setuptools \ tornado
- 针对Ubuntu 14.04:
sudo apt-get install -y --no-install-recommends libgflags2
- 1
- 针对Ubuntu 16.04:
sudo apt-get install -y --no-install-recommends libgflags-dev
- 1
Clone & Build
git clone --recursive https://github.com/caffe2/caffe2.git && cd caffe2 make && cd build && sudo make install python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"
- 1
- 2
- 3
这一步在我这边很慢,clone的速度大概只有几十kb,而且中途也出现了错误。如果选择用zip打包下载,就会出现caffe2/third_party/
目录中第三方包缺失的情况,这时还要自己手动下载。
GPU测试可以执行:
python -m caffe2.python.operator_test.relu_op_test
- 1
这步安装完成之后,会在/usr/local/caffe2
、/home/user/caffe2/build(你的build路径)
路径生成caffe2的python文件,在/usr/local/lib
路径生成库文件。
设置环境变量
设置正确的话,执行命令会有#
后这样的输出
echo $PYTHONPATH # export PYTHONPATH=/usr/local:$PYTHONPATH # export PYTHONPATH=$PYTHONPATH:/home/ubuntu/caffe2/build echo $LD_LIBRARY_PATH # export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
具体设置更改对应shell的配置文件,一般来说
sudo vim /etc/profile
在最后加上
export PYTHONPATH=/usr/local:$PYTHONPATH export PYTHONPATH=$PYTHONPATH:/home/ubuntu/caffe2/build export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
- 1
就可以了。
总结
目前caffe2还不是很成熟,某些文档也还不齐,安装也可以不用很着急,熟悉一下操作就好。mask-rcnn不就应该就会在这上面放出源码,可以稍稍再期待一下。
每一个不曾起舞的日子,都是对生命的辜负。
But it is the same with man as with the tree. The more he seeks to rise into the height and light, the more vigorously do his roots struggle earthward, downward, into the dark, the deep - into evil.
其实人跟树是一样的,越是向往高处的阳光,它的根就越要伸向黑暗的地底。----尼采
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话