SSTD使用需要caffe-GPU环境
两种安装方式
1、先装caffe-GPU再安装SSTD
这种方法最省事
将SSTD/examples/text复制到 caffe/examples目录下,然后编译就行
2、下载SSTD安装
这种方法是自带caffe-GPU,安装过程就是在安装caffe
安装过程可能会编译出错:
CXX src/caffe/layers/neuron_layer.cpp
In file included from ./include/caffe/util/device_alternate.hpp:40:0,
from ./include/caffe/common.hpp:19,
from ./include/caffe/blob.hpp:8,
from ./include/caffe/layers/neuron_layer.hpp:6,
from src/caffe/layers/neuron_layer.cpp:3:
./include/caffe/util/cudnn.hpp: In function ‘void caffe::cudnn::setConvolutionDesc(cudnnConvolutionStruct**, cudnnTensorDescriptor_t, cudnnFilterDescriptor_t, int, int, int, int)’:
./include/caffe/util/cudnn.hpp:112:3: error: too few arguments to function ‘cudnnStatus_t cudnnSetConvolution2dDescriptor(cudnnConvolutionDescriptor_t, int, int, int, int, int, int, cudnnConvolutionMode_t, cudnnDataType_t)’
CUDNN_CHECK(cudnnSetConvolution2dDescriptor(*conv,
^
In file included from ./include/caffe/util/cudnn.hpp:5:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from ./include/caffe/blob.hpp:8,
from ./include/caffe/layers/neuron_layer.hpp:6,
from src/caffe/layers/neuron_layer.cpp:3:
/usr/local/cuda/include/cudnn.h:537:27: note: declared here
cudnnStatus_t CUDNNWINAPI cudnnSetConvolution2dDescriptor( cudnnConvolutionDescriptor_t convDesc,
^
Makefile:577: recipe for target '.build_release/src/caffe/layers/neuron_layer.o' failed
参照博文:http://blog.csdn.net/kexinmcu/article/details/53178428
http://blog.csdn.net/kexinmcu/article/details/53178428
的方法替换文件:
cp caffe/include/caffe/layers/cudnn_* SSTD/include/caffe/layers/
cp caffe/src/caffe/layers/cudnn_* SSTD/src/caffe/layers/
cp caffe/include/caffe/util/cudnn.hpp SSTD/include/caffe/util/
成功编译通过。
接下来 make runtest 可能会出错
E1212 16:27:25.161913 8061 io.cpp:478] Could not open or find file examples/images/cat.jpg
F1212 16:27:25.162016 8061 image_data_layer.cpp:72] Check failed: cv_img.data Could not load examples/images/cat.jpg
*** Check failure stack trace: ***
@ 0x7f8ede5bb5cd google::LogMessage::Fail()
@ 0x7f8ede5bd433 google::LogMessage::SendToLog()
@ 0x7f8ede5bb15b google::LogMessage::Flush()
@ 0x7f8ede5bde1e google::LogMessageFatal::~LogMessageFatal()
@ 0x7f8ed8209e86 caffe::ImageDataLayer<>::DataLayerSetUp()
@ 0x7f8ed8294823 caffe::BasePrefetchingDataLayer<>::LayerSetUp()
@ 0x48f1cf caffe::Layer<>::SetUp()
@ 0x56fcd7 caffe::ImageDataLayerTest_TestShuffle_Test<>::TestBody()
@ 0xa52fa3 testing::internal::HandleExceptionsInMethodIfSupported<>()
@ 0xa4c5ba testing::Test::Run()
@ 0xa4c708 testing::TestInfo::Run()
@ 0xa4c7e5 testing::TestCase::Run()
@ 0xa4dabf testing::internal::UnitTestImpl::RunAllTests()
@ 0xa4dde3 testing::UnitTest::Run()
@ 0x47d41d main
@ 0x7f8ed744d830 __libc_start_main
@ 0x486939 _start
@ (nil) (unknown)