su获取root权限
一、make all -j4
以TSNproject为基础,需要修改三个地方:
- 替换temporal-segment-networks/lib/caffe-action/目录下的Makefile.config 参考
- 修改temporal-segment-networks/lib/caffe-action/Makefile文件的LIBRARIES和PYTHON_LIBRARIES
LIBRARIES += glog gflags protobuf leveldb snappy \
lmdb boost_system hdf5_hl hdf5 m \
opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
PYTHON_LIBRARIES := boost_python3 python3.6m
- temporal-segment-networks/lib/caffe-action/src/caffe/layers/contrastive_loss_layer.cpp文件,将56行改为
Dtype dist = std::max(margin - sqrt(dist_sq_.cpu_data()[i]), Dtype(0.0));
二、make test -j4
- temporal-segment-networks/lib/caffe-action/include/caffe/test/test_gradient_check_util.hpp文件,将167行改为
Dtype scale = std::max(std::max(fabs(computed_gradient), fabs(estimated_gradient)), Dtype(1.));
- temporal-segment-networks/lib/caffe-action/src/caffe/test/test_contrastive_loss_layer.cpp文件,将82行改为
Dtype dist = std::max(margin - sqrt(dist_sq), Dtype(0.0));
三、make runtest -j4
退出root权限
四、sudo make pycaffe
五、caffe GPU加速模式
为了让caffe支持GPU模式,需要安装GPU驱动和CUDA Toolkit,参考NVIDIA官方安装手册 NVIDIA CUDA Installation Guide For Linux。
切换到caffe 加速模式
首先修改Makefile.config中的选项:
#仅CPU模式开关,这里要使用GPU模式,所以加上“#”
#CPU_ONLY :=1
保存,退出。重新编译整个工程:
make clean
make j
# 参考上面编译过程
编译完成后,将.prototxt中的最后一项solver_mode改为GPU:
#solver mode:CPU or GPU
solver_model:GPU
也可以在命令行显示的加入选项"-gpu 0",表示在0号GPU设备上运行caffe。在GPU上加速模式下训练效果与CPU模式下没有区别。
六、caffe cuDNN加速模式
为了能达到更高的性能,借助专业的加速库cuDNN提升caffe计算速度。默认CUDA安装不包括cuDNN,选择与自己版本的caffe,cuDNN版本对应的cuDNN。
切换到caffe cuDNN加速模式
只需要修改Makefile.config中的选项:
#cuDNN加速开关,这里要使用cuDNN,所以打开(去掉前面的“#”)该开关
USE_CUDNN :=1
保存,退出。重新编译整个工程:
make clean
make j
# 参考上面编译过程
七、关闭ECC
为了让性能最优,建议关掉ECC,开启最大时钟频率。尽量ECC在速度上会引入可忽略的差异,但关掉它可以节省奖金1GB的GPU存储器。