女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

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

zhKF_jqr_AI ? 來源:未知 ? 作者:佚名 ? 2018-04-11 10:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:Ashwin Kumar編譯:weakish

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

文本:一個扔飛盤的婦女

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

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

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

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

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

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

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

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

讓圖像看起來像是手繪的

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

使用BLEU分?jǐn)?shù)評估模型

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

基本上,BLEU比較生成文本和參考文本的n元序列,以創(chuàng)建準(zhǔn)確率變體。用BLEU評估這一項目很合適,因為它基于實際生成的HTML元素,以及元素之間的關(guān)系。

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

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

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

額外獎勵——定制風(fēng)格

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

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

樣式解耦模型生成過程帶來了很大的優(yōu)勢:

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

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

總結(jié)和未來方向

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

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

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

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

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

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

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

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

    關(guān)注

    73

    文章

    5561

    瀏覽量

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

    關(guān)注

    0

    文章

    27

    瀏覽量

    4655

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    自動化計算機的功能與用途

    工業(yè)自動化是指利用自動化計算機來控制工業(yè)環(huán)境中的流程、機器人和機械,以制造產(chǎn)品或其部件。工業(yè)自動化的目的是提高生產(chǎn)率、增加靈活性,并提升制造過程的質(zhì)量。工業(yè)自動化在汽車制造中體現(xiàn)得最為
    的頭像 發(fā)表于 07-15 16:32 ?127次閱讀
    <b class='flag-5'>自動化</b>計算機的功能與用途

    自動化生產(chǎn)線如何依賴驅(qū)動芯片?關(guān)鍵技術(shù)解析

    解析傳送帶、泵類設(shè)備對電機控制的高精度需求,揭示華芯邦芯片在工業(yè)自動化中的穩(wěn)定表現(xiàn)。
    的頭像 發(fā)表于 05-29 17:56 ?213次閱讀

    行業(yè)首創(chuàng):基于深度學(xué)習(xí)視覺平臺的AI驅(qū)動輪胎檢測自動化

    全球領(lǐng)先的輪胎制造商 NEXEN TIRE 在其輪胎生產(chǎn)檢測過程中使用了基于友思特伙伴Neurocle開發(fā)的AI深度學(xué)習(xí)視覺平臺,實現(xiàn)缺陷檢測率高達(dá)99.96%,是該行業(yè)首個使用AI平臺技術(shù)推動缺陷檢測
    的頭像 發(fā)表于 03-19 16:51 ?451次閱讀
    行業(yè)首創(chuàng):基于<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>視覺平臺的AI驅(qū)動輪胎檢測<b class='flag-5'>自動化</b>

    智能讀碼器:工業(yè)自動化的眼睛與大腦

    隨著技術(shù)的不斷進(jìn)步,讀碼器的功能也在持續(xù)拓展。從單一的數(shù)據(jù)采集到智能的數(shù)據(jù)分析,從獨立設(shè)備到與自動化生產(chǎn)線的深度融合,讀碼器正在逐步成為工業(yè)自動化的核心組件。
    的頭像 發(fā)表于 03-18 09:12 ?328次閱讀
    智能讀碼器:工業(yè)<b class='flag-5'>自動化</b>的眼睛與大腦

    AI自動化生產(chǎn):深度學(xué)習(xí)在質(zhì)量控制中的應(yīng)用

    隨著科技的飛速發(fā)展,人工智能(AI)與深度學(xué)習(xí)技術(shù)正逐步滲透到各個行業(yè),特別是在自動化生產(chǎn)中,其潛力與價值愈發(fā)凸顯。深度學(xué)習(xí)軟件不僅使人工和
    的頭像 發(fā)表于 01-17 16:35 ?699次閱讀
    AI<b class='flag-5'>自動化</b>生產(chǎn):<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>在質(zhì)量控制中的應(yīng)用

    基于 Docker 與 Jenkins 實現(xiàn)自動化部署

    優(yōu)化,為 Docker 容器應(yīng)用與 Jenkins 自動化流水線提供了理想的運行環(huán)境。無論是快速構(gòu)建、測試還是部署,F(xiàn)lexus X 都能確保流程順暢無阻,大幅提升軟件開發(fā)與交付效率。立即擁抱華為云
    的頭像 發(fā)表于 01-07 17:25 ?528次閱讀
    基于 Docker 與 Jenkins 實現(xiàn)<b class='flag-5'>自動化</b>部署

    M12連接器技術(shù)規(guī)格解析:工業(yè)自動化的優(yōu)選方案

    在現(xiàn)代工業(yè)自動化領(lǐng)域,連接器的選擇至關(guān)重要。其中,M12連接器以其卓越的技術(shù)規(guī)格和廣泛的應(yīng)用場景,成為了工業(yè)自動化領(lǐng)域的首選方案。本文將深入解析M12連接器的技術(shù)規(guī)格,并探討其在工業(yè)自動化
    的頭像 發(fā)表于 01-06 15:18 ?497次閱讀
    M12連接器技術(shù)規(guī)格<b class='flag-5'>解析</b>:工業(yè)<b class='flag-5'>自動化</b>的優(yōu)選方案

    串口屏自動化測試

    嚴(yán)謹(jǐn)而高效的自動化測試方案顯得尤為重要。以下是對串口屏自動化測試策略的深度解析,旨在通過高質(zhì)量的測試設(shè)計,嚴(yán)格控制產(chǎn)品設(shè)計質(zhì)量,推動產(chǎn)業(yè)升級。 引言 串口屏
    的頭像 發(fā)表于 12-27 17:17 ?1474次閱讀

    自動化創(chuàng)建UI并解析數(shù)據(jù)

    *附件:32960_auto.rar備注:Main.vi是ui自動化2.1.vi,配置文件為32960.B.ini。 目前可以實現(xiàn)根據(jù)配置文件自動化創(chuàng)建控件并布局,且可以自動解析接收到
    發(fā)表于 12-10 08:41

    自動化創(chuàng)建UI并解析數(shù)據(jù)

    ,需要加判斷; 4.程序運行時切換前面板/后面板會卡頓。 ******該示例較粗糙旨在拋磚引玉,希望有高人指點,優(yōu)化自動化創(chuàng)建UI并解析內(nèi)容,給出更佳的方案。
    發(fā)表于 11-29 11:26

    自動化AI開發(fā)平臺功能介紹

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

    Appium +iOS自動化測試教程(實踐、總結(jié) 、踩坑)

    的使用都不太熟悉,花了大概一周時間粗略的看下ios開發(fā)知識,網(wǎng)上隨手下載的來源于這兩本《iOS開發(fā)從入門到精通.pdf》、《iOS開發(fā)指南:從零基礎(chǔ)到App上架.pdf 》、至于Mac筆記本的
    的頭像 發(fā)表于 11-11 09:42 ?4892次閱讀
    Appium +iOS<b class='flag-5'>自動化</b>測試教程(實踐、總結(jié) 、踩坑)

    探索Playwright:前端自動化測試的新紀(jì)元

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

    搭載瑞芯微RK3588J芯片——HZHY-MT100G:深度解析工業(yè)通信與電力自動化協(xié)議的集成與應(yīng)用

    ,HZHY-MT100G工業(yè)物聯(lián)網(wǎng)智能網(wǎng)關(guān)應(yīng)運而生,為工業(yè)控制、遠(yuǎn)程監(jiān)控和電力自動化領(lǐng)域提供了可靠的技術(shù)支撐。接下來,我們將深入解析MT100G系統(tǒng)的技術(shù)優(yōu)勢,探
    的頭像 發(fā)表于 10-19 08:11 ?1274次閱讀
    搭載瑞芯微RK3588J芯片——HZHY-MT100G:<b class='flag-5'>深度</b><b class='flag-5'>解析</b>工業(yè)通信與電力<b class='flag-5'>自動化</b>協(xié)議的集成與應(yīng)用

    FPGA做深度學(xué)習(xí)能走多遠(yuǎn)?

    的發(fā)展前景較為廣闊,但也面臨一些挑戰(zhàn)。以下是一些關(guān)于 FPGA 在深度學(xué)習(xí)中應(yīng)用前景的觀點,僅供參考: ? 優(yōu)勢方面: ? 高度定制的計算架構(gòu):FPGA 可以根據(jù)深度
    發(fā)表于 09-27 20:53