如果安装遇到问题请不要放弃,痛苦是值得的。如果我会再来一次,我可能会使用一个 Ubuntu 虚拟机,而不是直接在 Mac 上安装。如果你有问题要问,可以到 Caffe 用户讨论组:https://groups.google.com/forum/#!forum/caffe-users 问:我需要一个强大的硬件来训练神经网络吗?要是我没法获取一个强大的 GPU 怎么办? 是的,深度神经网络确实需要大量的算力和能量……但那是在从头开始训练并且使用了巨型数据集的情况。我们不需要那么做。我们可以使用一个预训练好的网络(其它人已经为其投入了数百小时的计算和训练),然后根据你的特定数据进行微调即可。我们后面会介绍如何实现这一目标,但首先我要向你说明:后面的一切工作都是在一台没有强大 GPU 的一年前的 MacBook 上完成的。 另外说明一点,因为我有一块集成英特尔显卡,而不是英伟达的 GPU,所以我决定使用 OpenCL Caffe 分支:https://github.com/BVLC/caffe/tree/opencl,它在我的笔记本电脑上效果良好! 当你安装完 Caffe 之后,你应该有或能够做下列事情: 一个包含了你构建的 Caffe 的目录。如果你是按标准方式做的,应该会有一个 build/ 目录包含了运行 Caffe 所需的一切、捆绑的 Python 等等,build/ 的父目录将是你的 CAFFE_ROOT(后面我们会用到它) 运行 make test && make runtest,应该会通过 安装了所有的 Python 依赖包之后(在 python/ 中执行 for req in $(cat requirements.txt); do pip install $req; done;运行 make pycaffe && make pytest 应该会通过 你也应该运行 make distribute 以在 distribute/ 中创建一个带有所有必要的头文件、二进制文件等的可分发的 Caffe 版本 在我的机器上,Caffe 完全构建后,我的 CAFFE_ROOT 目录有以下基本布局: caffe/ build/ python/ lib/ tools/ caffe ← this is our main binary distribute/ python/ lib/ include/ bin/ proto/ 到现在,我们有了训练、测试和编程神经网络所需的一切。下一节我们会为 Caffe 增加一个用户友好的基于网页的前端 DIGITS,这能让我们对网络的训练和测试变得更加简单。 安装 DIGITS DIGITS 地址:https://github.com/NVIDIA/DIGITS 英伟达的深度学习 GPU 训练系统(Deep Learning GPU Training System/DIGITS)是一个用于训练神经网络的 BSD 授权的 Python 网页应用。尽管我们可以在 Caffe 中用命令行或代码做到 DIGITS 所能做到的一切,但使用 DIGITS 能让我们的工作变得更加简单。而且因为 DIGITS 有很好的可视化、实时图表等图形功能,我觉得使用它也能更有乐趣。因为你正在尝试和探索学习,所以我强烈推荐你从 DIGITS 开始。 在 https://github.com/NVIDIA/DIGITS/tree/master/docs 有一些非常好的文档,包括一些安装、配置和启动的页面。我强烈建议你在继续之前通读一下。我并不是一个使用 DIGITS 的专家,如果有问题可以在公开的 DIGITS 用户组查询或询问:https://groups.google.com/forum/#!forum/digits-users 安装 DIGITS 的方式有很多种,从 Docker 到 Linux 上的 pre-baked package,或者你也可以从源代码构建。我用的 Mac,所以我就是从源代码构建的。 注:在我的实践中,我使用了 GitHub 上未发布的 DIGITS 版本:https://github.com/NVIDIA/DIGITS/commit/81be5131821ade454eb47352477015d7c09753d9 因为 DIGITS 只是一些 Python 脚本,所以让它们工作起来很简单。在启动服务器之前你要做的事情是设置一个环境变量,告诉 DIGITS 你的 CAFFE_ROOT 的位置在哪里: export CAFFE_ROOT=/path/to/caffe ./digits-devserver 注:在 Mac 上,这些服务器脚本出现了一些问题,可能是因为我的 Python 二进制文件叫做 python2,其中我只有 python2.7。 你可以在 /usr/bin 中 symlink 它或在你的系统上修改 DIGITS 启动脚本以使用合适的二进制文件。 一旦服务器启动,你可以在你的浏览器中通过 :5000 来完成一切后续工作。 训练一个神经网络 训练神经网络涉及到几个步骤: 1. 准备一个带有分类图像的数据集 2. 定义网络架构 3. 使用准备好的数据集训练和验证这个网络 (责任编辑:本港台直播) |