源码下载

首先下载caffe2的源码:https://github.com/caffe2/caffe2

网上都建议使用git命令下载,因为caffe2依赖了很多第三方模块,git会根据依赖自动下载第三方依赖模块。但是我在下载过程中发现很多第三方模块的地址变了,因此git方式无法完成第三方模块的下载。因此,下载好caffe2源码后,需要手动完成这些模块的下载。这些模块的默认地址在caffe2/.gitmodules文件内。

Windows下编译安装

编译工程

  在windows下可以编译成VS的工程文件,我用的是VS2017,修改caffe2/scripts/build_windows.bat文件内容如下:

:: #############################################################################
:: Example command to build on Windows.
:: ############################################################################# :: This script shows how one can build a Caffe2 binary for windows. @echo off
setlocal SET ORIGINAL_DIR=%cd%
SET CAFFE2_ROOT=%~dp0%.. if NOT DEFINED CMAKE_BUILD_TYPE (
set CMAKE_BUILD_TYPE=Release
) if NOT DEFINED USE_CUDA (
set USE_CUDA=OFF
) if NOT DEFINED CMAKE_GENERATOR (
if DEFINED APPVEYOR_BUILD_WORKER_IMAGE (
if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2017" (
set CMAKE_GENERATOR="Visual Studio 15 2017 Win64"
) else if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2015" (
set CMAKE_GENERATOR="Visual Studio 14 2015 Win64"
) else (
echo "You made a programming error: unknown APPVEYOR_BUILD_WORKER_IMAGE:"
echo %APPVEYOR_BUILD_WORKER_IMAGE%
exit /b
)
) else (
:: In default we use win64 VS .
:: Main reason is that currently, cuda does not support VS newest
:: version. To use cuda you will have to use .
set CMAKE_GENERATOR="Visual Studio 15 2017 Win64"
)
) echo CAFFE2_ROOT=%CAFFE2_ROOT%
echo CMAKE_GENERATOR=%CMAKE_GENERATOR%
echo CMAKE_BUILD_TYPE=%CMAKE_BUILD_TYPE% if not exist %CAFFE2_ROOT%\build mkdir %CAFFE2_ROOT%\build
cd %CAFFE2_ROOT%\build :: Set up cmake. We will skip building the test files right now.
:: TODO: enable cuda support.
cmake .. ^
-G%CMAKE_GENERATOR% ^
-DBUILD_TEST=OFF ^
-DCMAKE_BUILD_TYPE=%CMAKE_BUILD_TYPE% ^
-DUSE_CUDA=%USE_CUDA% ^
-DUSE_NNPACK=OFF ^
-DUSE_CUB=OFF ^
-DUSE_GLOG=OFF ^
-DUSE_GFLAGS=OFF ^
-DUSE_LMDB=OFF ^
-DUSE_LEVELDB=OFF ^
-DUSE_ROCKSDB=OFF ^
-DUSE_OPENCV=OFF ^
-DBUILD_SHARED_LIBS=OFF ^
-DBUILD_PYTHON=OFF^
|| goto :label_error :: Actually run the build
cmake --build . --config %CMAKE_BUILD_TYPE% || goto :label_error echo "Caffe2 built successfully"
cd %ORIGINAL_DIR%
endlocal
exit /b :label_error
echo "Caffe2 building failed"
cd %ORIGINAL_DIR%
endlocal
exit /b

然后打开VS2017的开发人员命令提示符,执行“build_windows.bat”即可。

等待一段时间后,便在caffe2/build下生产很多VS的工程文件。

Caffe2的安装

以管理员运行VS2017,并使用VS打开caffe2/build/Caffe2.sln,打开后右键“INSTALL”项目并点击生成,便会执行caffe2库的编译和安装,默认安装目录为C:\Program Files\Caffe2,可以修改caffe2/build/cmake_install.cmake的第5行来更改caffe2的安装路径。

VS下使用caffe2

使用前需要把caffe2/build/lib/Release下的所有库文件拷贝到C:\Program Files\Caffe2\lib(至于什么原因,我也不知道,可能是默认安装的库文件不全)。

新建的工程需要注意以下属性的配置:

(1)包含目录

(2)库目录

(3)附加依赖项

(4)SDL检查

(5)运行库

Linux下的编译和安装

进入caffe2/scripts目录,执行“sh build_local.sh”,然后进入caffe2/build目录,执行"sudo make install"即可。

Caffe2的安装的更多相关文章

  1. Caffe2 Detectron安装错误记录

    caffe2 caffe2的安装方法有几种.其中最方便的是conda install.但是要求必须安装Anaconda. conda install -c caffe2 caffe2-cuda8.0- ...

  2. ubuntu 16.04 安装caffe2的方法及问题解决

    工作需要安装caffe2,从用户体验上来讲,caffe2的安装绝对是体验比较差的那种,花费了我那么多时间去倒腾,这样的用户体验的产品,估计后面是比较危险的. 废话少说,直接上步骤: 官网上有安装目录, ...

  3. Caffe2(1)----Ubantu14.04安装

    英文好的请直接参考官方安装文档:Ubantu14.04下的源码编译. Caffe2的安装相比以前Caffe一代的安装,简直有点一键装机的感觉,下面简单总结下Caffe2的安装. 环境:Ubantu14 ...

  4. (译)综合指南:通过Ubuntu 16.04上从Source构建来安装支持GPU的Caffe2

    (译)综合指南:通过Ubuntu 16.04上从Source构建来安装支持GPU的Caffe2 译者注: 原文来自:https://tech.amikelive.com/node-706/compre ...

  5. caffe2+cuda+Ubuntu16.04(u盘安装)

    安装caffe2 预先准备.安装gflags及autoconf及GLOG https://github.com/caffe2/caffe2/issues/1810 一.下载源代码通过网盘 https: ...

  6. caffe2 环境的搭建以及detectron的配置

    caffe2 环境的搭建以及detectron的配置 建议大家看一下这篇博客https://tech.amikelive.com/node-706/comprehensive-guide-instal ...

  7. CNN:Windows下编译使用Caffe和Caffe2

    用于检测的CNN分为基于回归网络的方法和基于区域+CNN网络的方法,其中基于回归网络的方法典型为YOLO9000,可以兼容使用VGG-Net框架.其中基于区域+CNN网络方法,大量使用了Caffe作为 ...

  8. ubuntu16.04 Detectron目标检测库配置(包含GPU驱动,Cuda,Caffee2等配置梳理)

    Detectron概述 Detectron是Facebook FAIR开源了的一个目标检测(Object Detection)平台. 用一幅图简单说明下Object Detection.如Mask R ...

  9. Pytorch实现的语义分割器

    使用Detectron预训练权重输出 *e2e_mask_rcnn-R-101-FPN_2x* 的示例 从Detectron输出的相关示例 使用Detectron预训练权重输出 *e2e_keypoi ...

随机推荐

  1. Properties集合_list方法与store方法

    Properties集合和流对象结合的功能 list()方法: import java.util.Properties; public class PropertiesDemo { public st ...

  2. Linux驱动的两种载入方式过程分析

    一.概念简述 在Linux下能够通过两种方式载入驱动程序:静态载入和动态载入. 静态载入就是把驱动程序直接编译进内核.系统启动后能够直接调用.静态载入的缺点是调试起来比較麻烦,每次改动一个地方都要又一 ...

  3. centos7下安装docker(13.3volume生命周期管理)

    本章讨论:volume的备份,恢复,迁移和销毁 1.备份 通过前面的大量的实验,我们知道volume 是依赖host存在的,是host中的文件或目录,所以volume 的备份实际是对文件系统的备份. ...

  4. js删除数组元素、清空数组的简单方法

    一.清空数组 ? 1 2 3 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即 ...

  5. Echarts中太阳图(Sunburst)的实例

    Echarts中太阳图(Sunburst)的实例 目前在项目中要实现一个Echars中的太阳图,但是Echars中的太阳图的数据格式是一个树形结构,如下代码格式如下: var mapData = [ ...

  6. SkylineGlobe 支持火狐和谷歌浏览器的可运行示例代码

    示例代码: <html> <head> <title>3dml的Feature对象选中和隐藏</title> <script type=" ...

  7. ADO.NET分享

    看到<c#从入门到精通(第三版)>书中对ado.net里几种方法打的比方,很有意思就发一下. 1)这张图中,把数据比作水,储存了大量数据. 2)Connection对象好像进水龙头,插在水 ...

  8. session和cookie知识点总结

    cookie小结:1.cookie是在服务端创建2.cooki是保存在浏览器这一端3.cookie的生命周期可以通过 cookie.setMaxAge(2000);(如果不设置生命周期,cookie的 ...

  9. Luogu4921/4931 情侣?给我烧了! 组合、递推

    4921 4931 第一眼看着就像容斥,但是容斥不怎么好做-- 第二眼想到错排,结果错排公式糊上去错了-- 不难考虑到可以先选\(K\)对情侣坐在一起,剩下\(N-K\)对错排 选\(K\)对情侣坐在 ...

  10. (原创)odoo在docker环境下无法备份

    odoo容器内置postgresql-client版本和数据库版本不一致,安装和数据库版本相同或者更高版本的客户端 参考:https://www.postgresql.org/download/lin ...