精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于深度學(xué)習(xí)自動(dòng)化的前端開發(fā)解析

zhKF_jqr_AI ? 來(lái)源:未知 ? 作者:佚名 ? 2018-04-11 10:00 ? 次閱讀

作者:Ashwin Kumar編譯:weakish

編者按:Ashwin Kumar之前是Sway Finance的聯(lián)合創(chuàng)始人,Sway Finance是Y Combinator孵化的一家初創(chuàng)企業(yè),使用機(jī)器學(xué)習(xí)技術(shù)自動(dòng)化會(huì)計(jì)。后來(lái)去了Insight,在Insight開發(fā)了一個(gè)模型,允許用戶從手繪的示意圖創(chuàng)建可以工作的HTML網(wǎng)站。現(xiàn)任Mythic深度學(xué)習(xí)科學(xué)家。

對(duì)所有規(guī)模的公司而言,創(chuàng)建直觀、沉浸式的用戶體驗(yàn)都是一個(gè)關(guān)鍵的目標(biāo)。創(chuàng)建用戶體驗(yàn)是一個(gè)以原型、設(shè)計(jì)、測(cè)試為周期的快速過(guò)程。Facebook這樣的巨頭有充足的資源,可以在設(shè)計(jì)過(guò)程中投入整個(gè)團(tuán)隊(duì),設(shè)計(jì)過(guò)程可能長(zhǎng)達(dá)數(shù)周,涉及多個(gè)相關(guān)者;小企業(yè)沒(méi)有這樣的資源,因此它們的用戶界面做出來(lái)可能會(huì)不太好。

我在Insight的目標(biāo)是使用現(xiàn)代深度學(xué)習(xí)算法顯著地流水線化設(shè)計(jì)工作流程,賦能任何企業(yè)快速創(chuàng)建和測(cè)試網(wǎng)頁(yè)。

今天的設(shè)計(jì)工作流程

經(jīng)過(guò)多個(gè)相關(guān)者的設(shè)計(jì)工作流程

一個(gè)典型的設(shè)計(jì)工作流程可能是這樣的:

產(chǎn)業(yè)經(jīng)理進(jìn)行用戶研究,得出一些規(guī)格要求

設(shè)計(jì)師接收需求,探索低保真原型,并逐漸創(chuàng)建高保真模型

工程師將設(shè)計(jì)實(shí)現(xiàn)為代碼并最終交付產(chǎn)品至用戶

研發(fā)周期的長(zhǎng)度可能很快成為瓶頸,Airbnb這樣的公司開始使用機(jī)器學(xué)習(xí)使這一過(guò)程更高效。

盡管看起來(lái)這是一個(gè)很有前途的機(jī)器輔助設(shè)計(jì)的樣例,我們并不清楚這一模型多大程度上是完全基于端到端訓(xùn)練的,多大程度上依賴手工提取的特征。我們無(wú)法知道確切的答案,因?yàn)檫@是一個(gè)閉源的專有實(shí)現(xiàn)。我希望開發(fā)一個(gè)繪圖到代碼技術(shù)的開源版本,面向更廣泛的開發(fā)者和設(shè)計(jì)師。

理想情況下,我的模型將可以接受一個(gè)簡(jiǎn)單的手繪網(wǎng)站設(shè)計(jì)原型,并立刻基于圖像生成可以工作的HTML網(wǎng)站:

SketchCode模型接受手繪示意圖,生成HTML代碼

事實(shí)上,上圖是我的模型在測(cè)試圖像集上生成的真實(shí)網(wǎng)站!相關(guān)代碼發(fā)布在我的GitHub上:ashnkumar/sketch-code

從圖像標(biāo)注汲取靈感

我打算解決的問(wèn)題屬于程序生成任務(wù),自動(dòng)生成可以工作的源代碼。不過(guò),程序生成大多涉及從自然語(yǔ)言規(guī)格聲明或執(zhí)行追蹤(execution trace)生成代碼,而我的案例將基于圖像(手繪示意圖)生成代碼。

在機(jī)器學(xué)習(xí)中,圖像標(biāo)注是一個(gè)研究很充分的領(lǐng)域,圖像標(biāo)注尋找能夠?qū)D像和文本相聯(lián)系的學(xué)習(xí)模型,特別是基于源圖像內(nèi)容生成描述。

文本:一個(gè)扔飛盤的婦女

受最近的pix2code論文和Emil Wallner的相關(guān)項(xiàng)目的啟發(fā),我決定重塑我的任務(wù)為圖像標(biāo)注任務(wù),以手繪網(wǎng)站示意圖為輸入圖像,相應(yīng)的HTML代碼為輸出文本。

獲取合適的數(shù)據(jù)集

從圖像標(biāo)注的角度來(lái)說(shuō),理想的數(shù)據(jù)集將是數(shù)以千計(jì)的成對(duì)的手繪草圖和相應(yīng)的HTML代碼。毫不意外,我沒(méi)法找到這樣的數(shù)據(jù)集,我需要為這一任務(wù)創(chuàng)建自己的數(shù)據(jù)集。

我從pix2code論文的開源數(shù)據(jù)庫(kù)開始,其中包含1750張合成的網(wǎng)站截屏以及相關(guān)的源代碼。

pix2code數(shù)據(jù)集

這是一個(gè)很好的數(shù)據(jù)庫(kù),可以作為我自己的數(shù)據(jù)集的基礎(chǔ):

數(shù)據(jù)集中生成的網(wǎng)站包含一些簡(jiǎn)單的Bootstrap元素的組合,例如按鈕、文本框和div。盡管這意味著我的模型的“詞匯表”將限于少數(shù)元素——可供選擇的生成網(wǎng)站的元素——這一方法可以簡(jiǎn)單地推廣至更大的元素詞匯表。

每個(gè)樣本的源代碼包含一個(gè)領(lǐng)域特定語(yǔ)言(DSL)的token,該DSL是論文作者專門創(chuàng)建的。每個(gè)token對(duì)應(yīng)一段HTML和CSS,有一個(gè)編譯器將DSL編譯成可以工作的HTML代碼。

讓圖像看起來(lái)像是手繪的

轉(zhuǎn)換彩色網(wǎng)站圖像至手繪版本

為了修改數(shù)據(jù)集以適應(yīng)我自己的任務(wù),我需要讓這些網(wǎng)站圖像看起來(lái)像是手繪的。我嘗試使用python中的OpenCV和PIL庫(kù)修改每張圖像,例如轉(zhuǎn)換為灰度圖像,等高線檢測(cè)

最終,我決定直接修改原網(wǎng)站的CSS樣式表,進(jìn)行以下操作:

修改網(wǎng)頁(yè)元素的圓角邊框以曲線化按鈕和div的邊角。

調(diào)整邊框的厚度,以模擬手繪草圖,并添加下降陰影。

修改字體為手繪風(fēng)格字體。

最后,我通過(guò)添加傾斜、移動(dòng)、旋轉(zhuǎn)以增強(qiáng)這些圖像,以模擬實(shí)際手繪草圖的變化性。

使用圖像標(biāo)注模型架構(gòu)

現(xiàn)在我已經(jīng)有數(shù)據(jù)了,終于可以把數(shù)據(jù)傳給模型了!

我使用了一個(gè)圖像標(biāo)注的模型架構(gòu),主要包含三部分:

使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)從源圖像提取圖像特征的計(jì)算機(jī)視覺(jué)模型

基于門控循環(huán)單元(GRU)的編碼源代碼token序列的語(yǔ)言模型

接受前兩步的輸出作為輸入,預(yù)測(cè)序列中的下一個(gè)token的解碼器模型(也是GRU)

訓(xùn)練使用token序列作為輸入的模型

為了訓(xùn)練這一模型,我將源代碼拆分成token序列。模型的單個(gè)輸入是一個(gè)序列和源代碼圖像,標(biāo)簽為文檔中的下一個(gè)token。模型使用交叉熵作為損失函數(shù),比較模型的下一個(gè)token預(yù)測(cè)和實(shí)際的下一個(gè)token。

在推理階段,當(dāng)模型用來(lái)從頭生成代碼的時(shí)候,過(guò)程略有不同。圖像仍然由CNN處理,但文本過(guò)程僅僅使用一個(gè)開始序列作為種子。在每一步中,模型將預(yù)測(cè)的下一token序列附加到當(dāng)前輸入序列,并傳給模型作為新輸入序列。不斷重復(fù)這一過(guò)程,直至模型預(yù)測(cè)一個(gè)token,或過(guò)程達(dá)到預(yù)先定義的文檔token數(shù)限制。

一旦模型生成了預(yù)測(cè)token的集合,編譯器轉(zhuǎn)換DSL token至可由任何瀏覽器渲染的HTML。

使用BLEU分?jǐn)?shù)評(píng)估模型

我決定使用BLEU分?jǐn)?shù)評(píng)估模型。BLEU分?jǐn)?shù)是機(jī)器翻譯任務(wù)中一個(gè)常用的指標(biāo),這一指標(biāo)衡量機(jī)器生成文本在多大程度上接近由人類基于相同輸入生成的文本。

基本上,BLEU比較生成文本和參考文本的n元序列,以創(chuàng)建準(zhǔn)確率變體。用BLEU評(píng)估這一項(xiàng)目很合適,因?yàn)樗趯?shí)際生成的HTML元素,以及元素之間的關(guān)系。

最棒的是,我可以通過(guò)查看生成網(wǎng)站實(shí)際看到BLEU分?jǐn)?shù)!

可視化BLEU分?jǐn)?shù)

給定源圖像,完美的BLEU分?jǐn)?shù)(1.0)意味著正確的元素位于正確的位置,而較低的分?jǐn)?shù)預(yù)測(cè)錯(cuò)誤的元素,或者元素位于錯(cuò)誤的位置。最終模型能夠在評(píng)估數(shù)據(jù)集上取得0.76的BLEU分?jǐn)?shù)。

額外獎(jiǎng)勵(lì)——定制風(fēng)格

我意識(shí)到模型提供了一個(gè)額外獎(jiǎng)勵(lì),由于模型僅僅生成網(wǎng)頁(yè)的骨架,我可以在編譯過(guò)程中加入定制的CSS層,然后立刻獲得所得網(wǎng)站的不同風(fēng)格。

同一草圖對(duì)應(yīng)不同風(fēng)格

樣式解耦模型生成過(guò)程帶來(lái)了很大的優(yōu)勢(shì):

想要在自家公司使用SketchCode模型的前端工程師可以如原樣使用模型,僅僅修改一個(gè)CSS文件,使網(wǎng)站適配公司的風(fēng)格指南

內(nèi)置可伸縮性——基于單一源圖像,模型的輸出可以立刻編譯至5、10、50種不同的預(yù)定義分割,因此用戶可以可視化多個(gè)版本的網(wǎng)站,并在瀏覽器中瀏覽查看。

總結(jié)和未來(lái)方向

利用圖像標(biāo)注方面的研究,SketchCode能夠接受手繪網(wǎng)站示意圖,并在數(shù)秒之內(nèi)將它們轉(zhuǎn)換為可以工作的HTML網(wǎng)站。

這一模型具有一些限制,這也意味著未來(lái)可以做的改進(jìn):

由于訓(xùn)練模型的詞匯表僅包括16個(gè)元素,它無(wú)法預(yù)測(cè)在數(shù)據(jù)中未見(jiàn)的token。下一步可能使用更多元素生成額外的網(wǎng)站樣本,例如圖像、下拉菜單、表單——Bootstrap組件是一個(gè)很好的開始。

生產(chǎn)環(huán)境中的實(shí)際網(wǎng)站有很多變化。創(chuàng)建更能反映這些變化的訓(xùn)練數(shù)據(jù)集的一個(gè)很好的方法是抓取實(shí)際網(wǎng)站的HTML/CSS代碼和網(wǎng)站內(nèi)容截屏。

手繪同樣有很多通過(guò)修改CSS無(wú)法完全捕捉的變化。在手繪草圖數(shù)據(jù)中生成更多變化的一個(gè)很好的方法是使用對(duì)抗生成網(wǎng)絡(luò)創(chuàng)建逼真的手繪網(wǎng)站圖像。

如前所述,你可以在GitHub上找到此項(xiàng)目的代碼:ashnkumar/sketch-code

原文地址:https://blog.insightdatascience.com/automated-front-end-development-using-deep-learning-3169dd086e82

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5493

    瀏覽量

    120998
  • 前端開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    4437

原文標(biāo)題:從草圖到網(wǎng)站:基于深度學(xué)習(xí)自動(dòng)化前端開發(fā)

文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    自動(dòng)化AI開發(fā)平臺(tái)功能介紹

    自動(dòng)化AI開發(fā)平臺(tái)集成了多種算法、工具和框架,旨在幫助開發(fā)者更快速、高效地設(shè)計(jì)、訓(xùn)練、部署和管理AI模型。以下,AI部落小編將詳細(xì)介紹自動(dòng)化AI開發(fā)
    的頭像 發(fā)表于 11-14 09:29 ?157次閱讀

    探索Playwright:前端自動(dòng)化測(cè)試的新紀(jì)元

    作者:京東保險(xiǎn) 張新磊 背景 在前端開發(fā)中,自動(dòng)化測(cè)試是確保軟件質(zhì)量和用戶體驗(yàn)的關(guān)鍵環(huán)節(jié)。隨著Web應(yīng)用的復(fù)雜性不斷增加,手動(dòng)測(cè)試已經(jīng)無(wú)法滿足快速迭代和持續(xù)交付的需求。自動(dòng)化測(cè)試通過(guò)模
    的頭像 發(fā)表于 10-22 14:27 ?116次閱讀

    PyTorch深度學(xué)習(xí)開發(fā)環(huán)境搭建指南

    PyTorch作為一種流行的深度學(xué)習(xí)框架,其開發(fā)環(huán)境的搭建對(duì)于深度學(xué)習(xí)研究者和開發(fā)者來(lái)說(shuō)至關(guān)重要
    的頭像 發(fā)表于 07-16 18:29 ?866次閱讀

    機(jī)械自動(dòng)化和電氣自動(dòng)化區(qū)別是什么

    機(jī)械自動(dòng)化和電氣自動(dòng)化是現(xiàn)代工業(yè)生產(chǎn)中兩個(gè)重要的領(lǐng)域,它們?cè)谠S多方面有著密切的聯(lián)系,但也存在一些明顯的區(qū)別。 一、基本概念 機(jī)械自動(dòng)化 機(jī)械自動(dòng)化是指利用機(jī)械設(shè)備、傳感器、控制系統(tǒng)等技
    的頭像 發(fā)表于 07-01 09:33 ?3730次閱讀

    機(jī)械自動(dòng)化自動(dòng)化的一種嗎

    引言 自動(dòng)化技術(shù)是指利用控制裝置對(duì)生產(chǎn)過(guò)程進(jìn)行控制,以實(shí)現(xiàn)生產(chǎn)過(guò)程的自動(dòng)化。機(jī)械自動(dòng)化自動(dòng)化技術(shù)的一種,它主要涉及到使用機(jī)械設(shè)備和控制系統(tǒng)來(lái)實(shí)現(xiàn)生產(chǎn)過(guò)程的
    的頭像 發(fā)表于 07-01 09:32 ?1551次閱讀

    工業(yè)機(jī)器人、PLC與自動(dòng)化之間的關(guān)系

    隨著科技的不斷進(jìn)步和工業(yè)領(lǐng)域的快速發(fā)展,自動(dòng)化已成為現(xiàn)代工業(yè)生產(chǎn)的重要趨勢(shì)。在這一進(jìn)程中,工業(yè)機(jī)器人和PLC(可編程邏輯控制器)作為自動(dòng)化的兩大核心要素,發(fā)揮著至關(guān)重要的作用。本文將深入探討工業(yè)機(jī)器人、PLC與自動(dòng)化之間的關(guān)系,
    的頭像 發(fā)表于 06-17 11:10 ?1243次閱讀

    機(jī)械制造與自動(dòng)化自動(dòng)化類嗎

    機(jī)械制造與自動(dòng)化自動(dòng)化領(lǐng)域的一個(gè)重要分支,它涉及到機(jī)械設(shè)計(jì)、制造、檢測(cè)、控制等多個(gè)方面,是現(xiàn)代制造業(yè)的核心組成部分。 機(jī)械制造與自動(dòng)化是指利用計(jì)算機(jī)、機(jī)器人、傳感器等自動(dòng)化設(shè)備和技術(shù)
    的頭像 發(fā)表于 06-11 11:18 ?1452次閱讀

    工業(yè)自動(dòng)化自動(dòng)化區(qū)別是什么

    工業(yè)自動(dòng)化自動(dòng)化是兩個(gè)密切相關(guān)但又有所區(qū)別的概念。在這篇文章中,我們將詳細(xì)探討它們之間的區(qū)別,以及它們?cè)诂F(xiàn)代工業(yè)生產(chǎn)中的應(yīng)用。 一、自動(dòng)化的定義 自動(dòng)化是指通過(guò)使用機(jī)器、計(jì)算機(jī)和其他
    的頭像 發(fā)表于 06-11 11:13 ?1563次閱讀

    860-930MHz射頻前端芯片GC1109在工業(yè)自動(dòng)化中的應(yīng)用

    860-930MHz射頻前端芯片GC1109在工業(yè)自動(dòng)化中的應(yīng)用
    的頭像 發(fā)表于 05-09 09:59 ?417次閱讀
    860-930MHz射頻<b class='flag-5'>前端</b>芯片GC1109在工業(yè)<b class='flag-5'>自動(dòng)化</b>中的應(yīng)用

    2.4GHz ISM的射頻前端芯片GC1103用于工業(yè)自動(dòng)化設(shè)備

    2.4GHz ISM的射頻前端芯片GC1103用于工業(yè)自動(dòng)化設(shè)備
    的頭像 發(fā)表于 04-09 10:01 ?441次閱讀
    2.4GHz ISM的射頻<b class='flag-5'>前端</b>芯片GC1103用于工業(yè)<b class='flag-5'>自動(dòng)化</b>設(shè)備

    非標(biāo)自動(dòng)化設(shè)備

    1、非標(biāo)自動(dòng)化設(shè)備 2、根據(jù)需求設(shè)計(jì)和制造 3、完成代替人工的目標(biāo)
    發(fā)表于 03-25 09:52

    Zebra Aurora深度學(xué)習(xí)OCR算法榮獲CAIMRS頒發(fā)的自動(dòng)化創(chuàng)新獎(jiǎng)

    在第二十二屆中國(guó)自動(dòng)化及數(shù)字年度評(píng)選活動(dòng)中,Zebra Aurora深度學(xué)習(xí)OCR算法獲得了由中國(guó)自動(dòng)化及數(shù)字
    的頭像 發(fā)表于 03-20 16:35 ?438次閱讀

    電源測(cè)試怎么自動(dòng)化?電源模塊自動(dòng)化測(cè)試系統(tǒng)如何實(shí)現(xiàn)?

    納米軟件在電測(cè)行業(yè)深耕十余年,在行業(yè)的大背景下,為了進(jìn)一步完善自動(dòng)化測(cè)試,開發(fā)出了新的智能的電源模塊自動(dòng)化測(cè)試系統(tǒng)ATECLOUD-POWER,實(shí)現(xiàn)
    的頭像 發(fā)表于 12-15 14:40 ?835次閱讀
    電源測(cè)試怎么<b class='flag-5'>自動(dòng)化</b>?電源模塊<b class='flag-5'>自動(dòng)化</b>測(cè)試系統(tǒng)如何實(shí)現(xiàn)?

    LabVIEW與Tektronix示波器實(shí)現(xiàn)電源測(cè)試自動(dòng)化

    MDO MSO DPO2000/3000/4000系列示波器,開發(fā)一個(gè)自動(dòng)化測(cè)試項(xiàng)目。該項(xiàng)目旨在自動(dòng)化執(zhí)行一系列電子信號(hào)的捕獲、分析和報(bào)告生成,提高測(cè)試過(guò)程的效率和準(zhǔn)確性。 項(xiàng)目的核心在于實(shí)現(xiàn)測(cè)試流程
    發(fā)表于 12-09 20:37

    淺析中國(guó)工業(yè)自動(dòng)化與智能應(yīng)用

    自動(dòng)化驅(qū)動(dòng)產(chǎn)品與智能操控系統(tǒng)主要用于工業(yè)自動(dòng)化中的設(shè)備自動(dòng)化領(lǐng)域,其中自動(dòng)化驅(qū)動(dòng)產(chǎn)品是實(shí)現(xiàn)設(shè)備單機(jī)自動(dòng)化的核心部件;智能操控系統(tǒng)是在設(shè)備單機(jī)
    發(fā)表于 12-01 10:11 ?999次閱讀
    淺析中國(guó)工業(yè)<b class='flag-5'>自動(dòng)化</b>與智能<b class='flag-5'>化</b>應(yīng)用