本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

码报:【j2开奖】机器学习初学者入门实践:怎样轻松创造高精度分类网络(2)

时间:2017-01-03 16:51来源:本港台现场报码 作者:www.wzatv.cc 点击:
如果安装遇到问题请不要放弃,痛苦是值得的。如果我会再来一次,我可能会使用一个 Ubuntu 虚拟机,而不是直接在 Mac 上安装。如果你有问题要问,可以

如果安装遇到问题请不要放弃,痛苦是值得的。如果我会再来一次,我可能会使用一个 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. 使用准备好的数据集训练和验证这个网络

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容