1

Windows中搭建TensorFlow开发环境

随着TensorFlow正式发布1.0版之后,在Windows上把玩这个深度学习框架也变得异常轻松,是以为记。

首先安装Python 3.5:

然后升级pip至最新版本,以便通过pip来安装TensorFlow:

python -m pip install --upgrade pip

把pip升级至9.0.1的效果如下:

由于GPU能够大大提高模型训练的效率,先来配置GPU的依赖。道理很简单,模型训练需要移动大量的数据来完成矩阵相乘或者卷积等运算,CPU延迟非常低好比推背感极强的法拉利,虽然可以快速地往返运送数据但是单程运量低下导致总量并不高;而GPU带宽高像一辆大吨位卡车,虽然跑起来速度慢但是一次可以运送大量数据,并且内置并行处理机制所以实际上提供的是一个卡车车队,吊打CPU毫无悬念。感兴趣的朋友请参考Quara上的讨论。当然,模型推理的时候GPU又不见得是最佳方式,比如谷歌搞出了TPU等,有机会再分享。

虽然我的NVIDIA GeForce GTX 750 Ti已经非常老旧,不过可以安装NVIDIA的并行计算平台CUDA和NVIDIA的深度神经网络库cuDNN来得到TensorFlow的支持。其中,cuDNN压缩包中的文件可以直接释放到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0,避免遇到Couldn’t open CUDA library cudnn64_5.dll错误提示。

现在可以通过pip来安装TensorFlow的GPU版本了:

pip3 install --upgrade tensorflow_gpu

不像墙外的官网,通过pip安装TensorFlow倒是非常顺利:

为了让开发体验更为出彩,可以使用Visual Studio Code来编辑Python代码,享受语法高亮以及代码提示的同时,可以直接右击Python文件并选择Run Python File in Terminal来训练模型:

Microsoft和Google还是来电的,比如之前的TypeScript与Angular、现在的Visual Studio Code与TensorFlow,都可以很愉快地一起玩耍。

当然,在本地Windows上开发TensorFlow也有不足之处:

  1. 环境设置冗长,Python的依赖往往不如Linux或者Mac顺畅。
  2. 硬件条件受限,比如本地NVIDIA GeForce GTX 750 Ti仅2GB的显存,运行TensorFlow提供的MNIST示例都会OOM,需要手工更改以分批次地评估模型准确度。
  3. 单机训练模型仅仅适合小数据量简单模型的入门学习,实际操作起来分布式集群是必不可少的。稍微有些规模的AI初创公司,有1000片以上的Titan是很常见的。

所以,商业级别的模型训练更应该采用百度深度学习服务这样的云端托管服务,不但一键生成支持专业级GPU(目前已提供NVIDIA K40)的TensorFlow或者PaddlePaddle集群,同时集群用完即可释放按照使用量计费性价比非常高,以后有机会详述。

 



张 琪

One Comment

  1. 如果嫌Visual Studio Code中的pylint麻烦,可以通过建立settings.json并放入 “python.linting.pylintEnabled”: false来关闭它。

发表评论

电子邮件地址不会被公开。 必填项已用*标注