炸排骨的做法,18段代码带你玩转18个机器学习必备交互东西-优德88官网网站

admin2周前110浏览量

(图片有AI科技大本营付费下载自视觉我国)

作者 | 曼纽尔·阿米纳特吉(Manuel Amunategui)、迈赫迪·洛佩伊(Mehdi Roopaei)

来历 | 大数据(ID:hzdashuju)

【导读】本文扼要介绍将机器学习构思快速、简略和美丽地转换为Web应用程序的东西。这并不是一个完好列表,假如你想了解更多,能够测验运用的不同技能。

01 Jupyter Notebook

Jupyter Notebook是依据Web的交互式Python解说器,十分合适构建、调整和发布任何运用Python脚本的东西。它被附加到一个功用完好的Python内核(将其设置为Python 3.x),并且能够像其他解说器相同加载和运转库及脚本。要装置Jupyter Notebook,请参阅官方文档:

http://jupyter.readthedocs.io/en/latest/install.html

http://jupyter.readthedocs.io/en/latest/install.html

装置办法多种多样,包含运用“pip3”指令,假如这种办法不合适你,则请查看官方文档,了解不同的办法(代码清单1)。

  • 代码清单1:装置Jupyter

代码清单1:装置Jupyter

Jupyter Notebook运用起来既简略又强壮。你只需将它下载到本地核算机(它是带有* .ipynb扩展名的文件),翻开指令/终端Shell窗口,导航到该文件夹,然后运转“notebook”指令(代码清单2)。

  • 代码清单2:运转Notebook(查看官方文档,了解发动Notebook的其他办法)

代码清单2:运转Notebook(查看官方文档,了解发动Notebook的其他办法)

此指令将翻开一个网页,显现它从中发动的文件夹的内容(图3)。你能够经过单击文件列表正上方的文件夹图标向下导航文件夹结构。

▲图3 Jupyter Notebook登录页面

要翻开Jupyter Notebook,只需单击任何带有“ * .ipynb”扩展名的文件。假如要创立全新Notebook,请单击紧接改写按钮的仪表板右侧的“New”按钮。

【提示】有关其他信息、Jupyter Notebook问题以及附加内核的信息,请参阅:

http://jupyter-notebook-beginner-guide.readthedocs. io/en/latest/execute.html

【提示】有关其他信息、Jupyter Notebook问题以及附加内核的信息,请参阅:

http://jupyter-notebook-beginner-guide.readthedocs. io/en/latest/execute.html

02 Flask

Flask是一个轻量级但十分强壮的服务器端Web结构。它是应用程序背面的“大脑”,也是Python数据生成函数和网页之间的黏合剂。我喜爱运用Flask的原因之一是,它答应咱们在不脱离Python言语的情况下将独立的Python脚本链接到服务器端Web结构,使得在目标之间传递数据愈加简略!

Flask附带了发布网页的最低要求。假如你需求其他支撑,例如数据库、表单控件等,则有必要装置其他库,这便是它被称为轻量级微结构的原因。这也是它易于运用的原因,由于你只需学习一些技巧,其他全部都可运用了解的经过验证的Python库。

惋惜的是,咱们只能运用Python至此,终究你需求进入前端Web脚本。可是不要有困扰—互联网上有许多很棒的比如(Stackoverflow.com、w3schools.com)和令人难以置信的GetBootstrap.com模板,能够让你赶快抵达目的地。

【提示】有关Flask的更多信息,请参阅官方Flask文档。

http://flask.pocoo.org/

【提示】有关Flask的更多信息,请参阅官方Flask文档。

http://flask.pocoo.org/

03 HTML

HTML(超文本符号言语)是网络技能方面最根本的东西之一。它已存在多年,用于创立简直一切的网页和Web应用程序。

关于那些想要了解这一主题的人来说,网上的免费材料汗牛充栋。要了解HTML,引荐w3schools.com网站,这个网站的学习材料安排杰出、全面,并且通常是交互式的。

04 CSS

CSS(Cascading Style Sheet,层叠款式表)使大多数网站看起来很棒!咱们在这儿运用两种类型的CSS文件:大多数网页(最常见)的“<HEAD>”部分中加载的CSS链接和代码清单3中显现的自界说CSS。

  • 代码清单3:自界说CSS脚本块

代码清单3:自界说CSS脚本块

保管在外部服务器上的CSS文件无法自界说,但通常是同类最佳的。有时你只需求在页面上自界说功用,即在HTML页面中直接创立本地CSS文件或款式标签,然后运用“class”参数将其应用于特定标签或区域(代码清单4)。

  • 代码清单4:将CSS标签应用于HTML标签

代码清单4:将CSS标签应用于HTML标签

CSS十分具体地界说了一切的尺度、色彩、字体。它还答应你创立所见即所感的Web门户。只需创立一次,即可让一切页面调用它来承继该特定款式。

【提示】有关CSS的其他信息,请拜访:

w3schools.com

【提示】有关CSS的其他信息,请拜访:

w3schools.com

05 Jinja2

Jinja2用于生成符号和HTML代码,并与Flask变量严密配合。它由Armin Ronacher创立,广泛用于处理Flask生成的数据以及直接在HTML模板中的if/then逻辑。

在此HTML模板示例中,运用Jinja2将名为“previous_slider_ value”的Flask生成的值注入滑块的“value”参数。留意运用双花括号(代码清单5)。

  • 代码清单5:Jinja2将数据传递给HTML输入控件

代码清单5:Jinja2将数据传递给HTML输入控件

【提示】有关Jinja2的其他信息,请参阅:

http://jinja.pocoo.org/docs/2.10/

【提示】有关Jinja2的其他信息,请参阅:

http://jinja.pocoo.org/docs/2.10/

06 Java

Java自身便是一种真实的编程言语,它能够为你的任何前端控件增加极端强壮的行为。Java为网页带来了很高的交互性。

这是一个风趣的示例,咱们捕获HTML滑块控件的鼠标按钮松开(mouse-up)工作,以将表单提交到Flask服务器。这个主意是,每逢用户更改滑块值时,Flask需求运用新的滑块值进行一些服务器端处理偏从头生成网页(代码清单6)。

  • 代码清单6:Java捕获滑块onmouseup工作

代码清单6:Java捕获滑块onmouseup工作

【提示】有关Java的其他信息,请拜访:

w3schools.com

【提示】有关Java的其他信息,请拜访:

w3schools.com

07 jQuery

jQuery是一个定制的Java库,能够协助处理杂乱的前端和行为工作,并保证不同浏览器版别之间的兼容性。

jQuery协助优化按钮、下拉动态行为,乃至Ajax交互(许多项目中很多运用的关键技能)。

【提示】有关jQuery的更多信息,请查看jQuery.com上的官方文档。

【提示】有关jQuery的更多信息,请查看jQuery.com上的官方文档。

08 Ajax

Ajax是一种超卓的前端脚本技能,能够为网页增加动态服务器端行为。它答应发送和接纳数据,而无须像表单提交那样重建或从头加载整个页面。一个常用范畴是地图网页,例如Google地图,它答应拖动和滑动地图,而无须在每次移动后从头加载整个页面。

【提示】有关Ajax的其他信息,请拜访w3schools.com。

【提示】有关Ajax的其他信息,请拜访w3schools.com。

09 Bootstrap

Bootstrap是一个十分强壮、近乎奇特的前端Web东西。依据BuiltWith Trends的说法,它简直占有了Web的13%。它包含大多数Web标签和控件的各种外观及行为。经过简略地将你的网页链接到最新的Bootstrap,CSS将为任何无聊的HTML页面供给即时和专业的改造!

假如你查看HTML文件,那么首要要留意的是页面顶部的LINK和标签中包含的链接。这是构建网页的最佳捷径(代码清单7)。

  • 代码清单7:链接标签以承继Bootstrap CSS款式

代码清单7:链接标签以承继Bootstrap CSS款式

HTML文件(更或许是你将来要创立的任何网页)都将运用这些链接来下载预制的Bootstrap和Java脚本,并主动承继盛行的字体、色彩、款式和行为。经过互联网,你可轻松且快速地取得最佳外观和行为。

【提示】有关Bootstrap的其他信息,请查看GetBootstrap.com上的官方文档。

【提示】有关Bootstrap的其他信息,请查看GetBootstrap.com上的官方文档。

10 Web插件

Web插件(plugin)具有巨大的优势:将很多硬件、数据和安全办理推送给专门从事该范畴的人。没有理由从头创造轮子,糟蹋宝贵时间或引进安全危险。让其别人顾好这一点,而你专心于最拿手的工作。

惋惜的是,咱们只能探究其间一部分,这儿列出了我曩昔用过的好东西或许从别人那里听来的好东西(还有不计其数或许相同好的东西—寻觅那些为小型企业供给杰出支撑的人,在成交之前他们往往会供给演示和测验账户)。

11 会员渠道

有几个渠道可用。

1.Memberful

www.memberful.com

www.memberful.com

我个人十分喜爱Memberful.com,并以为关于任何想要轻松办理网站付费功用的人来说,它是一个很好的挑选。它经过Stripe.com供给信用卡付出,以及用户办理功用,并严密集成在你自己的Web应用程序中。

2. Patreon

www.patreon.com

www.patreon.com

Patreon是艺术家和内容创作者的会员渠道与插件。

3. Wild Apricot

www.wildapricot.com

www.wildapricot.com

Wild Apricot是小型和非营利安排的会员渠道。

4. Subhub

www.subhub.com

www.subhub.com

Subhub是一个为企业家、专家和安排设计的会员渠道。

5. Membergate

www.membergate.com

www.membergate.com

Membergate是企业通讯、新闻通讯、协会和受限拜访站点的渠道。

12 付款渠道

有几个渠道可用。

1. Paypal Donations

www.paypal.com/us/webapps/mpp/donation

www.paypal.com/us/webapps/mpp/donation

我曩昔运用过Paypal插件,它易于装置和运用。你所需求的仅仅一个诺言杰出的Paypal账户,剩余的工作都很简略。

2. Paypal Express

www.paypal.com/us/webapps/mpp/express-checkout

www.paypal.com/us/webapps/mpp/express-checkout

Paypal Express依然归于Paypal,能快速简洁地结账。

3. Stripe

http://stripe.com/

http://stripe.com/

Stripe是一种付款选项,可让网站轻松承受在线信用卡付款。它是Memberful.com背面的付出引擎。

13 剖析

构建自己的Web运用盯梢器需求在每个页面上增加很多的Flask自界说代码,以及用于保存这些交互的数据库和用于了解它的剖析引擎。这个工作量很大!相反,运用Google Analytics,咱们所要做的仅仅在每个页面顶部增加Java代码段。根本剖析能够免费运用,这对咱们十分有利。

14 留言板

我曩昔曾运用https://disqus.com向静态网站增加留言板。它直接在你的网站上创立具有专业外观的留言板,一同在其他当地进行办理。

15 邮件列表

我现已运用formspree.io许多年了,我很喜爱它!能够很简略地将它增加到任何静态网页、文本框和提交按钮。用户能够在你的网页上增加他们的电子邮件地址,https://formspress.io将经过电子邮件向你发送已提交的信息。假如你正在保管静态站点或许不想自己办理数据库,那么这是一个很好的挑选。

16 Git

Git是一个很棒的版别操控东西,它能保存存储库中发作的任何代码创立、更改、更新以及删去。它与GitHub严密集成,这关于代码维护和协作来说至关重要。它也集成在大多数云供给商那里。假如你需求处理大型应用程序或与别人协作,那么强烈主张你运用它。

大多数云供给商都支撑GitHub、BitBucket等在线代码库。这些在线代码库运用Git,因而学习基础常识将对你很有协助。在Microsoft Azure上布置Web应用程序的进程与Git严密集成,因而有必要学一些入门常识或在线获取一些很棒的教程,例如try.github.io:

  • git init:创立本地存储库。

  • git clone https://github.com/...:将GitHub存储库克隆到本地驱动器。

  • git status:列出已更改并等候提交(commit)和推送(push)至存储库的文件。

  • git add.:增加一切文件(注释期间)。

  • git add '*.txt':增加一切文本文件。

  • git commit:提交等候中的文件。

  • git log:查看提交历史记录。

  • git push(或git push azure master):将分支推送到长途主站。

  • git pull:将长途更改拉取到本地库房。

  • git reset *:吊销git。

  • gitrm --cached <file>:中止盯梢文件。

git init:创立本地存储库。

git clone https://github.com/...:将GitHub存储库克隆到本地驱动器。

git status:列出已更改并等候提交(commit)和推送(push)至存储库的文件。

git add.:增加一切文件(注释期间)。

git add '*.txt':增加一切文本文件。

git commit:提交等候中的文件。

git log:查看提交历史记录。

git push(或git push azure master):将分支推送到长途主站。

git pull:将长途更改拉取到本地库房。

git reset *:吊销git。

gitrm --cached <file>:中止盯梢文件。

17 虚拟环境

运用虚拟环境能带来许多优势:

  • 创立没有装置Python库的环境。

  • 精确了解应用程序运转所需的Python库。

  • 使核算机体系的其余部分与在此环境中装置的任何Python隔脱离。

  • 鼓舞测验。

创立没有装置Python库的环境。

精确了解应用程序运转所需的Python库。

使核算机体系的其余部分与在此环境中装置的任何Python隔脱离。

鼓舞测验。

要发动虚拟环境,请运用“venv”指令。假如你的核算机上没有装置它,主张装置一下(能够经过常见的装置程序,如pip、conda、brew等)。有关为操作体系装置虚拟环境的更多信息,请参阅“venv-Greation of virtual environments”用户攻略:

https://docs.python. org/3/library/venv.html

https://docs.python. org/3/library/venv.html

翻开指令窗口并在指令行上调用Python 3“venv”函数以创立沙箱环境(代码清单8和代码清单9)。

  • 代码清单8:创立Python虚拟环境

代码清单8:创立Python虚拟环境

  • 代码清单9:激活环境

代码清单9:激活环境

完成后,能够运用代码清单10中的指令停用虚拟环境。

  • 代码清单10:停用虚拟环境

代码清单10:停用虚拟环境

18 创立requirements.txt文件

大多数云供给商运用requirements.txt文件列出保管Web应用程序所需的一切Python库。在大多数情况下,它与Web文件一同打包并发送到其“无服务器核算”云上进行设置。

你能够创立自己的requirements.txt文件,并将其放在与Flask Python主脚本相同的文件夹中。让咱们看看怎么运用虚拟环境创立一个完好的requirements.txt文件。

运用虚拟环境时,你将创立一个不含任何Python库的安全沙箱。这答应你仅装置所需内容并运转“pip freeze”指令以获取库和当时版别号的快照。请留意,假如你现已知道需求哪些库、依靠项和版别号,则不需求履行此操作。

【第1步】在Python中创立虚拟环境,以从洁净的渠道开端,如代码清单11所示。

  • 代码清单11:发动虚拟环境

代码清单11:发动虚拟环境

【第2步】运用“pip3”装置运转本地Web应用程序所需的库,如代码清单12所示。

  • 代码清单12:装置一些库作为示例

代码清单12:装置一些库作为示例

【第3步】冻住环境及一切已装置的Python库,包含requirements.txt文件中的版别号,如代码清单13所示。

  • 代码清单13:已装置的必需库

代码清单13:已装置的必需库

【第4步】停用虚拟环境,如代码清单14所示。

  • 代码清单14:停用venv

代码清单14:停用venv

经过上面这些过程,创立了一个requirements.txt文件。运用“vi”查看其内容(按下ESC和Q键退出)。requirements.txt的内容或许看起来十分不同,但这不要紧(代码清单15)。

  • 代码清单15:查看requirements.txt文件的内容

代码清单15:查看requirements.txt文件的内容

输入:

输出:

在requirements.txt文件中,能够运用“==”符号来要求特定版别(代码清单16)。

  • 代码清单16:精确分配

代码清单16:精确分配

还能够要求大于等于或小于等于某版别(代码清单17)。

  • 代码清单17:定向分配

代码清单17:定向分配

或许能够简略地指定为装置程序能够找到的最新版别(代码清单18)。

  • 代码清单18:运用最新版别

代码清单18:运用最新版别

作者介绍:

曼纽尔·阿米纳特吉(Manuel Amunategui) 是SpringML(谷歌云和Salesforce的优选合作伙伴)的数据科学副总裁,具有猜测剖析和世界办理硕士学位。在机器学习、医疗健康建模等方面有着丰厚的咨询经历。

迈赫迪·洛佩伊(Mehdi Roopaei)迈赫迪·洛佩伊(Mehdi Roopaei) 是IEEE、AIAA和ISA的高档成员。他的研讨爱好包含人工智能驱动的操控体系、数据驱动决议计划、机器学习和物联网(IoT),以及沉溺式剖析。

本文摘编自《机器学习即服务:将Python机器学习构思快速转变为云端Web应用程序》

(*本文为 AI科技大本营转载文章,转 载请联络原作者)