- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我与 Caffe 作斗争汇编。不幸的是我没能编译它。
Steps我关注的是:
git clone https://github.com/BVLC/caffe.git
cd caffe
mkdir build
cd build
cmake ..
make all
运行 make all
失败并显示以下错误消息:
[ 2%] Building NVCC (Device) object src/caffe/CMakeFiles/cuda_compile.dir/util/cuda_compile_generated_im2col.cu.o
In file included from /usr/include/cuda_runtime.h:59:0,
from <command-line>:0:
/usr/include/host_config.h:82:2: error: #error -- unsupported GNU version! gcc 4.9 and up are not supported!
#error -- unsupported GNU version! gcc 4.9 and up are not supported!
^
CMake Error at cuda_compile_generated_im2col.cu.o.cmake:207 (message):
Error generating /mydir/caffe/build/src/caffe/CMakeFiles/cuda_compile.dir/util/./cuda_compile_generated_im2col.cu.o
软件版本:
Debian
。gcc
版本:5.3.1
。nvcc
版本:6.5.12
。cat/proc/driver/nvidia/version
结果:NVRM version: NVIDIA UNIX x86_64 Kernel Module 352.63 Sat Nov 7 21:25:42 PST 2015
GCC version: gcc version 4.8.5 (Debian 4.8.5-3)
<小时/>
简单的解决方案通常是最好的解决方案,因此(如建议的 here )我尝试注释掉 /usr/include/host_config.h
中的宏检查 gcc
版本(第 82 行)。不幸的是它不起作用并且编译严重失败:
1 catastrophic error detected in the compilation of "/tmp/tmpxft_000069c2_00000000-4_im2col.cpp4.ii".
我尝试运行:
cmake -D CMAKE_CXX_COMPILER=g++-4.8 ..
make
但它失败了,完全相同相同的错误消息(即使应该接受g++-4.8
)。
我找到了similar problem (虽然与Caffe无关),我尝试按照已接受的答案中的建议解决它。
我做了什么:
grep -iR "find_package(CUDA"caffe
) 命令并发现 Cuda.cmake
文件,其中 225 行中有 find_package(CUDA 5.5 QUIET)
.set(CUDA_HOST_COMPILER/usr/bin/gcc-4.8)
添加到 Cuda.cmake
,行前行:find_package(CUDA 5.5 QUIET)
。build
目录中删除了所有内容,并再次运行 cmake
和 make
- 使用和不使用 -D CMAKE_CXX_COMPILER=g++-4.8
。不幸的是结果是完全相同的。 Caffe 可能会以某种方式覆盖它 - 我不知道如何。
make VERBOSE=1 2>&1 | grep -i compiler-bindir
不返回任何内容。
有趣的是,make VERBOSE=1
打印失败的命令,即:
/usr/bin/nvcc -M -D__CUDACC__ /mydir/caffe/src/caffe/util/im2col.cu -o /mydir/caffe/build/src/caffe/CMakeFiles/cuda_compile.dir/util/cuda_compile_generated_im2col.cu.o.NVCC-depend -ccbin /usr/bin/cc -m64 -DUSE_LMDB -DUSE_LEVELDB -DUSE_OPENCV -DWITH_PYTHON_LAYER -DGTEST_USE_OWN_TR1_TUPLE -Xcompiler ,\"-fPIC\",\"-Wall\",\"-Wno-sign-compare\",\"-Wno-uninitialized\",\"-O3\",\"-DNDEBUG\" -gencode arch=compute_20,code=sm_21 -Xcudafe --diag_suppress=cc_clobber_ignored -Xcudafe --diag_suppress=integer_sign_change -Xcudafe --diag_suppress=useless_using_declaration -Xcudafe --diag_suppress=set_but_not_used -Xcompiler -fPIC -DNVCC -I/usr/include -I/mydir/caffe/src -I/usr/include -I/mydir/caffe/build/include -I/usr/include/hdf5/serial -I/usr/include/opencv -I/usr/include/atlas -I/usr/include/python2.7 -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/mydir/caffe/include -I/mydir/caffe/build
当我手动添加 --compiler-bindir/usr/bin/gcc-4.8
标志时,它会打印错误:
nvcc fatal : redefinition of argument 'compiler-bindir'
可能与this相关错误报告。
编辑:我没有注意到 --compiler-bindir
和 -ccbin
是相同的选项,而后者已经是在上面的命令中设置失败。当我在上面失败的命令中将 -ccbin/usr/bin/cc
更改为 -ccbin/usr/bin/gcc-4.8
时,它成功完成。现在我需要在 Caffe 的 CMake 文件中找到覆盖所有后续 Caffe 的 CMake 中的 -ccbin
的选项。查看 cmake/Cuda.cmake:252:list(APPEND CUDA_NVCC_FLAGS ${NVCC_FLAGS_EXTRA}
似乎是个好方法。
如何才能成功完成编译?如有任何帮助,我们将不胜感激。
相关SO问题:
最佳答案
cmake -D CUDA_NVCC_FLAGS="-ccbin gcc-4.8".. && make
导致成功编译。
现在出现了另一个问题:链接 Google 的 libgflags
或 libprotobuf
失败,可能是因为它是用较新的 gcc
版本编译的,但它是与提出的问题无关。
关于gcc - 由于 gcc 编译器版本不受支持,Caffe 编译失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34403447/
// Assuming that data are on the CPU initially, and we have a blob. const Dtype* foo; Dtype* bar;
我计划使用 NYU depth v2 数据集实现一个 CNN,它可以从单个图像估计深度。通过本教程,我了解到在 Caffe 上实现处理分类问题的 CNN 很容易。我很好奇 Caffe 是否适合涉及多维
我用图像训练了一个模型。现在想将 fc-6 功能提取到 .npy 文件中。我正在使用 caffe.set_mode_gpu() 运行 caffe.Classifier 并提取特征。 而不是每帧提取和保
我通过 apt install 命令在我的 Ubuntu v18 VM 上安装了 caffe-cpu。我正在努力找出安装目录所在的位置,如果我错了请纠正我,但我相信没有安装目录。我尝试执行的 NN 模
这个问题在这里已经有了答案: how to calculate a net's FLOPs in CNN [closed] (4 个回答) 4年前关闭。 我在tensorflow tutorial看到
似乎this related PR现在已经死了,有没有解决方法可以使用 early stopping在咖啡厅?也许在 Caffe 之上使用 Python? 最佳答案 第一部分很容易手动完成:让我们监控
当我尝试在MacbookPro(El Capitan)上安装最新的caffe时,出现以下错误。怎么了?如何解决? 我在此网站上发现了一些类似的问题,不幸的是显示的修复似乎是ubuntu特有的。 先感谢
average_loss有什么用?有人可以举一个例子或用外行的术语解释吗? 最佳答案 您可以登录 caffe.proto文件。当前版本中的第 151 行对 average_loss 给出了以下注释:
我想先分别处理不同类型的数据,然后将它们融合到一个公共(public)层中。这在 Caffe 中是否可行,如果可以,最好的方法是什么? 我读过可以在同一个 prototxt 文件中定义多个数据层。但是
我正在尝试将几个底部 Blob 合并为一个顶部 Blob ,然后将其馈送到下一层。 这些 Blob 来自不同的卷积/FC层,因此它们的形状不同。 我尝试了 concat 层,但使用轴 0 或 1 时,
包 Digits 需要使用 Caffe 安装目录的位置设置环境变量。 安装Caffe的简单方法是apt-get install caffe-cuda .但是,我无法弄清楚它的安装位置。没有安装在hom
我在 Caffe 中训练过 imagenet。现在我正在尝试为我的模型和 caffe 提供的训练模型计算 ROC/AUC。我有两个问题: 1) ROC/AUC 主要用于二进制类,但我也发现在某些情况下
我正在尝试使我的 Caffe 代码适应 tensorflow。我想知道将我的 train.txt 和 test.txt 转换为适用于 tensorflow 的最佳方法是什么。 在我的 train.tx
有没有办法安装/运行修改后的 Caffe 项目,例如 SegNet或FCN-Berkley-Vision在 Windows 上? 有Microsoft-led project to bring Caf
我想用python设置一个caffe CNN,使用caffe.NetSpec()界面。虽然我看到我们可以把测试网放在 solver.prototxt , 我想写在model.prototxt具有不同的
我有一个预训练的 faster-rcnn caffemodel。我可以使用 net.params[pr][0].data 获取模型的权重。到目前为止,权重是 numpy float32 类型。我想将它
我正在做一个将 keras json 模型转换为 caffe prototxt 的项目 caffe 支持任意填充值 keras(在 tensorflow 之上)支持“相同”和“有效”值 对于 caff
我正在尝试让 CaffeOnSpark 在本地运行,并且我按照 CaffeOnSpark wiki 上的此过程进行操作:https://github.com/yahoo/CaffeOnSpark/wi
我通过caffe使用我自己的数据集训练了网络,现在我想用C++写一个分类代码。我的机器 (linux) 仅适用于 CPU! (我使用 GPU 在 VM 中训练网络)。 当我尝试“包含”特定的 Caff
我知道可以(以编程方式)使用 caffe.Netspec() 设计一个网络,基本上主要目的是编写它的 prototxt。 net = caffe.NetSpec() .. (define) .. wi
我是一名优秀的程序员,十分优秀!