不知不觉消失了好久,公众号也很久没有更新了。因为跑去学习微软AI方向的MPP课程了。MPP是目前微软最先提供关于AI的培训课程,关于MPP的学习体系,我后面会再写一篇简单的介绍。

MPP包含了很多的内容,开始学习的时候速度还挺快,到后面越来越艰涩。这也是很久没有精力去更新内容的原因之一。在学习的过程中,逐步接触到了AI或者ML所需要的Python环境。还记得我们之前的介绍吗?通过Python去调用AI的很多API,来快速实现AI的一些功能。

在学习Azure AI的API的eDoc的时候,就发现有一些示例代码使用了Jupyter Notebook来体现。当时觉得,我有Python不就好了吗?原汁原味地学习代码。到了MPP课程中“强制”使用了notebook之后,发现这种方式确实很方便学习。这么解释吧,我复制完示例代码,然后来运行之前,会尝试阅读代码,然后加上自己的注释。而notebook能将注释或者笔记部分,单独写成md格式的块。代码则分列到另外的代码块。这样就非常便于阅读背景信息和笔记,而同时方便的运行调试代码。

另外,很多AI或者ML的课程,也会以notebook的文件格式提供笔记本帮助学习,所以,拥有一个notebook的环境还是很有必要的。下面我们就来尝试使用最复杂的搭建方式,搭建一个notebook环境。

还记得第一次使用VS Code写Python的时候,会给代码格式评分,规范化也是学习代码的一部分,所以pylint还是需要的:

astroid-1.6.3 / isort-4.3.4 / lazy-object-proxy-1.3.1 / mccabe-0.6.1 / pylint-1.8.4 / wrapt-1.10.11

这么多AI的API都是以Web服务方式提供,快速调用API就离不开requests了:

certifi-2018.4.16 / chardet-3.0.4 / idna-2.6 / requests-2.18.4 / urllib3-1.22

进行数据处理怎么可以少了numpy?啥代码貌似都要array啊~

numpy-1.14.2

同样,进行ML处理数据,pandas也是不可或缺滴~

pandas-0.22.0 / pytz-2018.4

各种画图各种展现,没有matplotlib咋整?

cycler-0.10.0 / kiwisolver-1.0.1 / matplotlib-2.2.2 / pyparsing-2.2.0

安装notebook就复杂点了,依赖的库有点多~

MarkupSafe-1.0 / Send2Trash-1.5.0 / backcall-0.1.0 / bleach-2.1.3 / decorator-4.3.0 / entrypoints-0.2.3 / html5lib-1.0.1 / ipykernel-4.8.2 / ipython-6.3.1 / ipython-genutils-0.2.0 / ipywidgets-7.2.1 / jedi-0.12.0 / jinja2-2.10 / jsonschema-2.6.0 / jupyter-1.0.0 / jupyter-client-5.2.3 / jupyter-console-5.2.0 / jupyter-core-4.4.0 / mistune-0.8.3 / nbconvert-5.3.1 / nbformat-4.4.0 / notebook-5.4.1 / pandocfilters-1.4.2 / parso-0.2.0 / pickleshare-0.7.4 / prompt-toolkit-1.0.15 / pygments-2.2.0 / python-dateutil-2.7.2 / pywinpty-0.5.1 / pyzmq-17.0.0 / qtconsole-4.3.1 / simplegeneric-0.8.1 / terminado-0.8.1 / testpath-0.3.1 / tornado-5.0.2 / traitlets-4.3.2 / wcwidth-0.1.7 / webencodings-0.5.1 / widgetsnbextension-3.2.1

然后要做MPP的实验,自然少不了需要微软的人工智能工具库 CNTK~ 课程也挺奇怪,要求2.0版本,后面的课程则要求更新的版本,先安装2.0的

scipy-1.0.1 / cntk-2.0

其实以上列举这么多库,没有太大的意义,在使用pip安装的时候,就会自动按照依存关系去安装需要的库。那我为什么把这些库都列出来呢?两个原因,第一,如果我们需要离线安装;第二,由于都知道的原因,访问默认库分发的时候,经常干扰HTTPS流量导致下载失败。这时就可以按照以上的清单,去pypi网站上照方抓药了。

安装完毕,就能在本地使用notebook跑起来了。

说了这么多,没有更方便的办法吗?有!

其实MPP课程中使用了Anaconda来搭建用于学习AI/ML的环境。使用Anaconda可以方便的图形化管理你的环境。不过我看看安装文件就已经好几百M,想想变形本可怜的200G空间,就没安装了。

那么,还有没有更方便的办法呢?有!

学完ML的课程,感觉还是一脸懵~还需要时间再消化消化,不过环境需要更新了。更新CNTK倒是简单:

PS C:\WINDOWS\system32> pip install cntk --upgrade

Collecting cntk

Downloading https://files.pythonhosted.org/packages/e0/66/bd529934288094c4a4a7110fa6797669d95ffa7fc3687275a5541b80a281/cntk-2.5.1-cp36-cp36m-win_amd64.whl (63.7MB)

100% |████████████████████████████████| 63.7MB 181kB/s

Requirement not upgraded as not directly required: scipy>=0.17 in c:\program files\python36\lib\site-packages (from cntk) (1.0.1)

Requirement not upgraded as not directly required: numpy>=1.11 in c:\program files\python36\lib\site-packages (from cntk) (1.14.2)

Installing collected packages: cntk

Found existing installation: cntk 2.0

Uninstalling cntk-2.0:

Successfully uninstalled cntk-2.0

Successfully installed cntk-2.5.1

因为安装CNTK 2.0的时候,依赖的scipy和numpy库已经是当时最新,所以没有自动更新。不过我还是自己手动刷到最新版了。

然后,需要加上OpenCV了。去官网看了看,默认的支持是Python 2.7……这咋整啊?翻了翻网页,貌似有非官方的库提供了,既然大家都用,那就别犹豫了,装上:

PS C:\WINDOWS\system32> pip install opencv_python

Collecting opencv_python

Downloading https://files.pythonhosted.org/packages/4c/25/151aeb11e80f99b97d3eb93a2c98bcacd857f28c4fb8865eb0201d800e97/opencv_python-3.4.0.12-cp36-cp36m-win_amd64.whl (33.3MB)

100% |████████████████████████████████| 33.4MB 581kB/s

Requirement already satisfied: numpy>=1.11.3 in c:\program files\python36\lib\site-packages (from opencv_python) (1.14.3)

Installing collected packages: opencv-python

Successfully installed opencv-python-3.4.0.12

验证一下安装:

PS C:\WINDOWS\system32> python

Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> import cv2

>>> print(cv2.__version__)

3.4.0

貌似这里有更新的版本,不过没再手动下载安装了。

对了,在升级Python本身的时候,遇到一个有意思的错误:

C:\Personal\Hao.Hu\My Codes>jupyter

Fatal error in launcher: Unable to create process using '""c:\program files\python36\python.exe"  "C:\Program Files\Python36\Scripts\jupyter.exe" '

查了一下,跟路径设置导致编译时生成的exe的路径出错有关。折腾了一番,改了路径然后重新安装库,再次编译的exe就没问题了。

python搭建ai_搭建一个新手学习AI/ML的Python环境相关推荐

  1. 3天,我用Python手撕了一个深度学习框架!

    人工智能如何学习?要看哪些书? 经常听到有粉丝问到这类的问题,其实,要想学习人工智能,你需要先搞懂什么是人工智能. 01  人工智能概念的提出 人工智能(Artificial Intelligence ...

  2. 翻译Deep Learning and the Game of Go(10)第七章:从数据中学习:一个深度学习AI

    本章包括 下载和处理实际的围棋游戏记录 了解存储围棋游戏的标准格式 训练一个使用这样的数据进行落子预测的深度学习模型 运行自己的实验并评估它们 在前一章中,您看到了构建深度学习应用程序的许多基本要素, ...

  3. Python第一天:你必须要知道的Python擅长领域以及各种重点学习框架(包含Python在世界上...

    [toc] 今天开始将会发布系列型的Python学习, 今天讲述的框架相对来说比较多,只能一一例举出来, 无法进行准确的 Python5大擅长领域 很多学Python的小伙伴, 转行, 或者兴趣还有就 ...

  4. 复制的python代码格式错误_新手常见6种的python报错及解决方法

    此篇文章整理新手编写代码常见的一些错误,有些错误是粗心的错误,但对于新手而已,会折腾很长时间才搞定,所以在此总结下我遇到的一些问题.希望帮助到刚入门的朋友们. 1.NameError变量名错误 报错: ...

  5. Python第一天:你必须要知道的Python擅长领域以及各种重点学习框架(包含Python在世界上的应用)

    文章目录 Python5大擅长领域 WEB开发 网络编程 科学运算 GUI图形开发 运维自动化 Python在世界上的知名应用 国外 谷歌 CIA NASA YouTube Dropbox Insta ...

  6. python传递参数格式_Python语言学习基础篇之Python发送Post请求之根据参数位置传参、数据类型、不同方式传参...

    本文主要介绍了Python语言学习基础篇之Python发送Post请求之根据参数位置传参.数据类型.不同方式传参,通过具体的内容向大家展现,希望对大家Python语言的学习有所帮助. 目录 一.验证 ...

  7. python安装界面翻译_Python新手教程:40行python代码写一个桌面翻译器

    这是我做出来的粗略版本,后面的UI设计就看大家的艺术细胞了 Python资源共享群:484031800 我们进行制作软件所需要的模板库,首先要进行引用. # json requests thinter ...

  8. python从入门到精通-新手学习笔记-第五章 列表与元组

    一.序列概述 序列是按照一定顺序排列,用于存放多个值的连续内存空间.每个值都分配一个数字,被称为索引或位置.通过该索引取出对应的值. 序列结构主要有列表,元组,集合,字典,字符串.(集合与字典不支持索 ...

  9. python编程免费小说_Python编程学习教程:用python给自己DIY一款小说阅读器

    前一段时间书荒的时候,在喜马拉雅APP发现一个主播播讲的小说-大王饶命.听起来感觉很好笑,挺有意思的,但是只有前200张是免费的,后面就要收费.一章两毛钱,本来是想要买一下,发现说的进度比较慢而且整本 ...

最新文章

  1. Linux 设置 Swap 空间
  2. 计算机攻防网站在线对攻,对攻
  3. rest项目的基础返回类设计
  4. Spring Cloud中Feign如何统一设置验证token
  5. 切记:只有肯吃苦才能赚大钱!
  6. Ajax — 新闻列表
  7. .NETFramework-Web.Mvc:ViewResult
  8. MNIST机器学习入门【学习笔记】
  9. 计算机二级考试office 教程,全国计算机等级考试一级office教程
  10. cocos2d-x-3.x 配置(1)win环境搭建
  11. php一键环境包xammp 安装 phpDocumentor
  12. 小旭追女神-三国乱世(裸的单点线段树更新)
  13. 【教程】使用腾讯云轻量应用服务器搭建Jitsi Meet视频会议系统,轻松召开私域视频会议!
  14. 网站优化中SEO关键词密度到底多少属于合理?
  15. 【毕业论文】word 一键删除批注
  16. Qt小项目(二):调色器
  17. 最新韩小韩二次元高清图库api开源PHP网站源码
  18. STM32的USART串口通信
  19. 翻译:Swarm intelligence群体智慧
  20. 单片机原理及应用c语言编程,单片机原理及应用(C语言版)

热门文章

  1. 做个电商网站需要用到的技术
  2. 【华人学者风采】关美宝 香港中文大学
  3. 分页查询,但是页面只重复显示一条数据
  4. 一站式 DevOps 平台,让开发大不同
  5. for循环语句例题及解析python_Python中for循环控制语句用法实例
  6. Pr-PEI 蛋白质-聚乙烯亚胺/Glu-PEI 葡萄糖-聚乙烯亚胺/E1105-PEI 溶菌酶-聚乙烯亚胺
  7. 一字节内的位序(bit)大端小端分析
  8. 【杂谈】FPGA之路——Verilog与编辑器的那些事儿
  9. 《Spring Boot极简教程》第8章 Spring Boot集成Groovy,Grails开发
  10. 11.2.0.4修改RAC单节点VIP