ncnn是一个为手机端极致优化的高性能神经网络前向计算框架。
其开源代码网址为https://github.com/Tencent/ncnn
说一下我使用的环境配置:
1、操作系统:Ubuntu 16.04
2、cuda 8.0
3、Open CV 3.0
因为这些库在本地环境上安装起来即复杂又费时,所以我推荐使用docker。这样只需要找到适合的镜像文件进行docker的创建。使用docker不仅不会破坏本地的环境,还可以拥有管理员权限,适合在限制个人操作权限的公用服务器上安装。下面,我说一下我在安装过程中遇到的问题和具体的配置步骤。
Ubuntu的版本最好使用16.04。一开始,我装的是Ubuntu14.04,系统默认安装protobuf 2.5.0,然后发现因为protobuf 版本过低而报错。改成Ubuntu 16.04, 默认安装protobuf 2.6.1,错误消失。
镜像文件可以从网上下载,例如使用linux 指令下载一个名称为caffe - opencv - cuda8.0的镜像文件。
docker pull caffe - opencv - cuda8.0
可以使用指令
docker images
查看新的镜像文件是否部署完成。完成后,创建新的docker。创建的同时需要挂载目录。即在docker中可以读写本地服务器文件。例如,我们将本地/home/data目录下的所有内容挂载到docker的根目录/data下,指令为
docker run -it -v /home/data:/data --name docker_name caffe - opencv - cuda8.0 /bin/bash
也可以挂载多个目录,只需要重复使用-v。其中,docker_name 是docker 的名字,如果不进行命名,则会随机分配docker名。因为docker被创建后,会自动进入docker环境,一般显示root@docker_ID。如果需要给docker改名,可通过指令
docker rename old_name new_name
来修改。查看自己的docker,可以使用
docker ps -a
查找,-a 指所有的docker。也可以通过docker ID来寻找,通过指令
docker ps -a | grep docker_ID
即可,可以看到docker对应的name,确定是否修改成功。初次创建后用exit退出了docker,重新进入需要两条连续指令。
docker start docker_name
docker attach docker_name
到这里,环境就基本配置好了。