闲置资源再利用:个人电脑上畅玩 TensorFlow

前言

眼下 github 社区最火的开源项目莫过于 tensorflow (后简称TF),但是在云上玩 TF 存在成本高,部署难诸多问题。腾讯公司提供的 Tesla 是个不错的解决方案,也存在资源竞争,数据上传麻烦,调试不便等问题,倘若在虚拟机环境自己搭建环境,又存在 GPU 支持等问题。本文介绍一种基于 windows 平台下搭建 TF 运行和开发环境,带大家畅玩 TF 。

一、个人电脑玩TF的理由

之所以选择在个人电脑上玩TF最主要的原因成本低廉+取材简单,对于非专业人士也都可以搞个人工智能来取悦自己。具体而言,还有以下几个理由:

门槛低

目前市面上90%个人电脑采用windows系统,工具软件多,开发上手简单容易,而且TF平台不同于以往的计算平台如spark/hadoop等,对windows支持相对比较友好。采用Python运行环境,软件安装也十分方便,不会受到IDC的各种网络限制。

GPU支持

大部分个人电脑基本配备了nvidia的独显(不要问我ATI显卡为啥不行),像笔者平时很少玩3D游戏,显卡基本都在闲置,将TF跑在GPU上提升资源利用率,还可以一边训练模型一边工作,丝毫不会受到影响。

IDE支持

目前TF主工程目录的python代码超过20W行,若没有一个好的IDE支持,通过裸奔方式编写/阅读代码简直就是一件不可思议的事情。window平台下有许多优秀的python开发IDE提供语法高亮,代码补全,跳转调试功能,非常好用,例如Sublime、PyCharm、Eclipse等等。

二、个人电脑玩TF的姿势

2.1 安装TF

第一步: 下载安装Python工具

官网推荐安装3.5.x版本:下载工具,安装过程一路向西。

第二步: 升级pip(不升级的可能安装TF包失败)

> python -m pip install -U pip

(如果出现网络请设置HTTPS_PROXY/HTTP_PROXY环境变量)

第三步: 安装VS2015 Redistributable

下载链接

第四步: 下载TensorFlow安装包

带 GPU 功能下载链接 ( 推荐 )

单 CPU 功能下载链接 ( 不推荐 )

第五步: 安装TensorFlow安装包

> cd /d (PATH)

> pip install tensorflow_gpu-1.2.0rc0-cp35-cp35m-win_amd64.whl

2.2 安装Cuda

首先,要确保机器本身显卡计算能力在3.5以上:查询链接。

接着,需要安装两个软件:CUDA Toolkit和cuDNN

CUDA Tookit: 下载链接( 选择版本8.1 )

cuDNN: 下载链接( 选择版本5.1 )

先安装Tookit,然后将cuDNN压缩文件解压到Tookit安装目录中,bin对应bin。

最后,验证cuda是否安装成功:(两个方法)

方法1: 安装GPU-Z软件(推荐方法)

查看GPU状态(出现cuda就说明成功了)

方法2: 命令行方式

> cd /d (PATH)\CUDA\v8.0\extras\demo_suite>

> deviceQuery.exe

发现在部分笔记本安装完之后找不到设备(GeForce940M)的情况,后通过<font color=Orange>在nvidia官网下载最新版本显卡驱动</font>解决。

2.3 安装PythonIDE

PyCharm和Sublime都是非常不错python开发IDE,前者是JetBrains公司出品,保持JetBrains家族一贯的特色,简单易用但系统开销大。我更愿意使用Sublime3,再带上几个插件轻装上阵(网络问题可通过代理解决)。

CTags插件:代码自动跳转,必装

SublimeREPL插件:代码调试工具,必装

SublimeCodeIntel插件:代码补全工具,必装

Autopep8插件: 代码排版,选装

Pylinter插件: 规范代码风格,语法检查,选装

2.4 畅玩TF

编码: 自动补全

阅码: 自动跳转

调试: 方便快捷

首先,在官网下载模型进行mnist本地训练

接着,再来一个诗和远方(感谢 hansion 提供的 demo,单核机器需要1天的工作在办公电脑45分钟内训练完,CPU运行正常,不影响正常作业。仅仅GPU有点忙,风扇哥,你要使劲点摇)

写在最后

之前搭建过spark/hadoop/xgboost分布式环境,相对而言,TF环境搭建更加简单容易,文档也相对更加完善,它更适合后台以外的开发同学操作机器学习,就我自己而言算是才开始进入TF领地,期待后面通过实战进一步强化对TF的认识,顺带也锻炼一下自己的爱机。

参考文档

TensorFlow社区

NVidia中国

sublime社区

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏生信技能树

生信蓝领,一个不舍得分享的高通量数据分析框架

安装bcbio框架 软件安装 配置参考基因组 流程配置 手动创建 脚本创建 简单实战 总结 当我跑完一些分析流程,比如说RNA-Seq,重测序分析以后,我就想到...

41011
来自专栏北京马哥教育

动画演示9个超有趣的Linux命令

1485
来自专栏州的先生

如何搭建一个用于AI预测的Python环境

1014
来自专栏更流畅、简洁的软件开发方式

【视频】自然框架源码的类库、控件、模块的总体简介

  我的自然框架开源好久了,看博客园的文件下载次数,已经被下载几千次了。可能有些人打开一看,好几个项目,一大堆的文件,随便找了一个,看不懂。再运行一下,咦怎么少...

2039
来自专栏我叫刘半仙

高效访问海量地图数据--GeoServer手动发布本地Shapefile地图

地图数据以海量著称,传统的做法是建立空间索引,优化查询等,这些并没有解决如何有效的组织地图数据,提高地图访问效率的问题。用GeoServer可以在用户之间迅速共...

5197
来自专栏ATYUN订阅号

iOS11真机运行CoreML图像识别demo(Object C 版)

前几天做了一版CoreML在模拟器上进行识别图片的demo,是使用官方推荐的swift语言编写的,今天抽空把CoreML在Object C上再基于上一版完善一些...

3828
来自专栏企鹅号快讯

如何与深度学习服务器优雅的交互?

有没有想到小夕今天会发文章呢?( ̄∇ ̄)有木有超级想小夕呢( ̄∇ ̄) 小夕在前面写了一堆纯理论和半理论的文章,不要怕,这次来一篇纯工程的tricks集合! 如果...

2499
来自专栏生信技能树

数据处理过程中有的是意外

明天和意外,哪一个先到来呢? 在运行picard的时候,总是报错,如下; To get help, see http://broadinstitute.gith...

3708
来自专栏北京马哥教育

动画演示9个超有趣的Linux命令

作者 | 佚名 来源 | 51CTO 糖豆贴心提醒,本文阅读时间6分钟,文末有秘密! Linux最强大的一个特征就是它有大量的各种小命令工具,这也可以称做是...

3909
来自专栏玉树芝兰

如何用Sikuli自动录入成绩?

手里明明有一份学生成绩Excel表格,却还得一一手动把它们输入到教务系统?类似这样的简单重复枯燥操作,其实你都可以一键让电脑自动替你完成。

672

扫码关注云+社区