Win10配置人工智能学习平台Tensorflow的正确姿势

目录:

Tensorflow在Windows10的安装

Tensorflow,那么什么是Tensor?

为什么Tensorflow那么受欢迎?

CNTK分析。

Reference

Tensorflow在Windows10的安装

在 Windows玩了很久的Tensorflow,但由于某些不可抗因素,硬是格式化了Windows。格式化完毕后立马装上Anaconda3,结果就在 一个大坑里默默流眼泪——Tensorflow不支持最新的Python3.6。pip的效率是真的不算高,于是在下载都能失败好几次的情况下,我硬是被 卡了半个多月。这篇教程算是给整个Tensorflow的Win平台填上最新的坑。(近乎所有的教程都是在Python3.6发布之前写的)

首先下载Anaconda3

注意,Tensorflow在Win环境下只支持Python3

同时,Anaconda3的下载不能下最新版,也就是只支持64位Python3.5。

而后就是经典的:

pip install tensorflow #如果你用CPU的话;

pip install tensorflow-gpu#如果你用GPU加速的话

这也是一般的套路告诉你的。不过其实完全可以直接去pypl的资源上直接迅雷啊什么的下下来,比较快、省时间。而后打开cmd,pip install 直接拖入你的文件到cmd,而后麻溜回车。

你以为就这么天真的:

import tensorflow as tfprint('TensorFlow version: {0}'.format(tf.__version__))hello = tf.constant('Hello, TensorFlow!')sess = tf.Session()print(sess.run(hello))
你就会得到:

01.png

来自tensorflow的嘲讽。

在Google中沉浮数日,发现了大佬的解决方案:

pip install --upgrade http://ci.tensorflow.org/view/Nightly/job/nightly-win/85/DEVICE=cpu,OS=windows/artifact/cmake_build/tf_python/dist/tensorflow-1.0.0rc2-cp35-cp35m-win_amd64.whl
安装完毕之后,可以通过。

在这里,问过Tensorflow的作者之一——Adriano Carmezim

得到的回答是酱紫的:

Apparently this issue is fixed at HEAD but didn't make it to the release build.

也就是说,这是作者的坑。。。忽略就好。。。

Tensorflow,那么什么是Tensor?

tensor的对应到中文的解释是张量。 为什么要讲tensor,主要就是鼎鼎大名的keras默认使用Tensorflow作为后端来进行张量的操作。而且tensor这个概念属于一种底层概 念,如果一个做Deep Learning的人没有办法理解tensor,那么其使用Deep Learning的技巧和创新性也十分有限。

张量这个概念比较复杂,tensor可以理解成一种多维数组,张量可以看作是向量、矩阵的自然推广,表示广泛的数据类型。

复杂点并不是在计算机意义上的多维数组表示方法,往往比喻有降低复杂性的作用。

零阶张量是普通的数,是张量的最底层的存在,也是最容易理解的一个部分。

一阶张量是向量,是数的有序的组合的结果。

张量的核心便在于——组合。

同样的,将一阶张量再进行有序组合,得到二阶张量。线性代数告诉我们一个矩阵可以表示为n个列向量的和,相比大家能够猜到二阶张量可以对应到我们已经理解的矩阵。

如此,不断的迭代加深。

由于可以迭代到很高层,在高层以上,我们就不费心思研究Tensor在我们的认知中的对应关系。研究物理的前辈们很早就意识到向量和张量作为实体具有物理上的意义的,它超越了它们的分量所被表述的(经常是任意的)坐标系。

其实张量的理解,理解成一种不断组合不断升级并且没有天花板的高级数据类型就可以了。

比较像人话的,是无分量方法。它把张量首先视为抽象对象,表达了多线性概念的某种确定类型。操作张量的规则作为从线性代数到多重线性代数的推广出现。其方式是更现代的无分量向量方法在基于分量的方法用于给出向量概念的基本引例之后就取代了传统的基于分量的方法。

为什么Tensorflow那么受欢迎?

TensorFlow 是相对高阶的机器学习库,用户可以方便地用它设计神经网络结构,而不必为了追求高效率的实现亲自写C++或CUDA18代码。在Tensorflow上可 以很麻溜的跑自己的模型而不用担心自己的Neural Network的细节部分。而Tensorflow作为神级框架Keras的默认back-end以及Google帅气的号称秒世界的Edward库,无 不体现Tensorflow目前的领军地位。

要 说做DL的人最火大什么,无非就是各种细节上的纠结和各种求导,这个Theano做的也不错。不过使用Python时有一个影响效率的问题是,每一个 mini-batch要从Python中feed到网络中,这个过程在mini-batch的数据量很小或者运算时间很短时,可能会带来影响比较大的延 迟。

但是在这里说一下Theano的一个坏话:

配置真的很烦!编译真的很慢!

编译需要MinGW支持,MinGW据说在国内经常翻车。对于新人来说,一个import theano 就弄出一大堆C/C++代码,不免被震撼到。而后又要做许多的改造才能让theano 俯首称臣,这个自学轨迹不要太崎岖。

TensorFlow在定义新网络结构时,Theano通常需要长时间的编译,因此尝试新模型需要比较大的代价,而TensorFlow完全没有这个问题。

Tensorflow的教程真的是一搜一大把,在youtube上一搜,各种应用和教程五花八门,并且质量还普遍不低——毕竟玩DL的人不是学界大牛就是Keep Learning的典范。

内 置的TF.Learn和TF.Slim等上层组件可以帮助快速地设计新网络,并且兼容Scikit-learn estimator接口,可以方便地实现evaluate、grid search、cross validation。并且据某老司机表示:只要可以将计算表示成计算图的形式,就可以使用TensorFlow。这就意味着,Tensorflow打破 了Deep Learning这个概念框架的限制,在更多的领域也有自己的应用,可以写内层循环代码控制计算图分支的计算。TensorFlow也可以将计算图中的各 个节点分配到不同的设备执行,充分利用硬件资源。

最值得小白们关注的就是——帅!

Tensorflow 的TensorBoard,将网络结构和训练过程进行可视化,经常为了等编译,然后去冲一杯咖啡,路上碰上老板还是同学什么的,侃大山侃完,回来——还没 做好。然鹅这个时候早已忘记了自己做到哪一步了,就一脸懵逼的看着电脑,或者一脸懊悔的看着自己手贱戳了键盘的某个键。

TensorBoard 是TensorFlow的一组Web应用,用来监控TensorFlow运行过程,或可视化Computation Graph。TensorBoard目前支持5种可视化:标量(scalars)、图片(images)、音频(audio)、直方图 (histograms)和计算图(Computation Graph)。TensorBoard的Events Dashboard可以用来持续地监控运行时的关键指标,比如loss、学习速率(learning rate)或是验证集上的准确率(accuracy);Image Dashboard则可以展示训练过程中用户设定保存的图片,比如某个训练中间结果用Matplotlib等绘制(plot)出来的图片;Graph Explorer则可以完全展示一个TensorFlow的计算图,并且支持缩放拖曳和查看节点属性。

CNTK分析

CNTK是MSRA开源的深度学习框架。在语音识别领域的使用尤其广泛。CNTK设计是性能导向的,从各种成绩上来看是非常的卓越——对,比Tensorflow厉害!

CNTK这个框架也很尴尬的和Tensorflow一样,对Python的支持又是只支持Python3.5

但是CNTK有个非常非常非常尴尬的一个局面:

真的!真的!很复杂!

并且没有Keras这样的神级辅助助推。

安装方法也是:

pip install https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0.beta12.0-cp35-cp35m-win_amd64.whl
感兴趣的、想研究CNTK的筒子们可以直接爬下来。

性能是真的比Tensorflow高,同时你能用CNTK弄好,也代表了你的实力,毕竟CNTK的的确确的比Tensorflow更复杂一点,但是还是可以接受的。

Reference

MNIST数据

Kears文档

CNTK PythonAPI

CNTK Python配置


更多精彩内容请关注:

微信公众号:Python中文社区

Python中文开发者的精神家园

会员登记:http://t.cn/RJMioxD

申请成为专栏作者:http://hk.mikecrm.com/t7etiJQ

社区维基:https://python-chinese.github.io/

GitHub组织:https://github.com/PyCN

申请加入PyCN GitHub组织:http://t.cn/Rir91Y4

邮箱:pythonpost@163.com


本文作者:那只猫,剑桥大学在读,Python中文社区专栏作者。

未经授权,禁止转载,否则将追究法律责任。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 148,827评论 1 317
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 63,511评论 1 266
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 99,318评论 0 218
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 42,108评论 0 189
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 50,112评论 1 266
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 39,387评论 1 185
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 30,905评论 2 283
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,657评论 0 177
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,144评论 0 223
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,744评论 2 225
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,100评论 1 236
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,565评论 2 222
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,041评论 3 216
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,769评论 0 9
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,301评论 0 178
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 34,173评论 2 239
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 34,313评论 2 242

推荐阅读更多精彩内容