我知道CAFFE中的几乎所有层都可以在CPU / GPU中运行。在GPU的情况下,它有一些模式,称为引擎。如果engine=CAFFE
,它将使用GPU和engine=CUDNN
运行,它将基于CUDA代码运行。默认为DEFAULT模式
在我的Makefile.config中,我在build caffe
时打开CUDNN模式# cuDNN acceleration switch (uncomment to build with cuDNN).
USE_CUDNN := 1
在我的原型文本中,我有一个图层,例如Deconvolution图层
layer {
name: "DeconvolutionLayer"
type: "Deconvolution"
bottom: "conv1"
top: "DeconvolutionLayer"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
num_output: 128
bias_term: false
pad: 0
kernel_size: 2
stride: 2
weight_filler {
type: "msra"
}
}
}
请注意,我没有为engine
标志设置任何值。当我运行时,将使用哪种模式,GPU还是CUDNN?培训脚本是
caffe/build/tools/caffe train --solver=solver.prototxt -gpu 0
答案 0 :(得分:0)
如果您查看caffe.proto
,请说"The default for the engine is set by the ENGINE switch at compile-time."
。如果查看layer_factory.cpp
如果设置了USE_CUDNN
,则默认引擎设置为cuDNN
。所以在你的情况下它是CUDNN。