在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于深度學習自動化的前端開發解析

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

作者:Ashwin Kumar編譯:weakish

編者按:Ashwin Kumar之前是Sway Finance的聯合創始人,Sway Finance是Y Combinator孵化的一家初創企業,使用機器學習技術自動化會計。后來去了Insight,在Insight開發了一個模型,允許用戶從手繪的示意圖創建可以工作的HTML網站。現任Mythic深度學習科學家。

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

我在Insight的目標是使用現代深度學習算法顯著地流水線化設計工作流程,賦能任何企業快速創建和測試網頁。

今天的設計工作流程

經過多個相關者的設計工作流程

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

產業經理進行用戶研究,得出一些規格要求

設計師接收需求,探索低保真原型,并逐漸創建高保真模型

工程師將設計實現為代碼并最終交付產品至用戶

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

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

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

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

事實上,上圖是我的模型在測試圖像集上生成的真實網站!相關代碼發布在我的GitHub上:ashnkumar/sketch-code

從圖像標注汲取靈感

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

在機器學習中,圖像標注是一個研究很充分的領域,圖像標注尋找能夠將圖像和文本相聯系的學習模型,特別是基于源圖像內容生成描述。

文本:一個扔飛盤的婦女

受最近的pix2code論文和Emil Wallner的相關項目的啟發,我決定重塑我的任務為圖像標注任務,以手繪網站示意圖為輸入圖像,相應的HTML代碼為輸出文本。

獲取合適的數據集

從圖像標注的角度來說,理想的數據集將是數以千計的成對的手繪草圖和相應的HTML代碼。毫不意外,我沒法找到這樣的數據集,我需要為這一任務創建自己的數據集。

我從pix2code論文的開源數據庫開始,其中包含1750張合成的網站截屏以及相關的源代碼。

pix2code數據集

這是一個很好的數據庫,可以作為我自己的數據集的基礎:

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

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

讓圖像看起來像是手繪的

轉換彩色網站圖像至手繪版本

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

最終,我決定直接修改原網站的CSS樣式表,進行以下操作:

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

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

修改字體為手繪風格字體。

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

使用圖像標注模型架構

現在我已經有數據了,終于可以把數據傳給模型了!

我使用了一個圖像標注的模型架構,主要包含三部分:

使用卷積神經網絡(CNN)從源圖像提取圖像特征的計算機視覺模型

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

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

訓練使用token序列作為輸入的模型

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

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

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

使用BLEU分數評估模型

我決定使用BLEU分數評估模型。BLEU分數是機器翻譯任務中一個常用的指標,這一指標衡量機器生成文本在多大程度上接近由人類基于相同輸入生成的文本。

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

最棒的是,我可以通過查看生成網站實際看到BLEU分數!

可視化BLEU分數

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

額外獎勵——定制風格

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

同一草圖對應不同風格

樣式解耦模型生成過程帶來了很大的優勢:

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

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

總結和未來方向

利用圖像標注方面的研究,SketchCode能夠接受手繪網站示意圖,并在數秒之內將它們轉換為可以工作的HTML網站。

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

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

生產環境中的實際網站有很多變化。創建更能反映這些變化的訓練數據集的一個很好的方法是抓取實際網站的HTML/CSS代碼和網站內容截屏。

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 深度學習
    +關注

    關注

    73

    文章

    5513

    瀏覽量

    121551
  • 前端開發
    +關注

    關注

    0

    文章

    25

    瀏覽量

    4489

原文標題:從草圖到網站:基于深度學習自動化前端開發

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

收藏 人收藏

    評論

    相關推薦

    AI自動化生產:深度學習在質量控制中的應用

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

    M12連接器技術規格解析:工業自動化的優選方案

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

    串口屏自動化測試

    嚴謹而高效的自動化測試方案顯得尤為重要。以下是對串口屏自動化測試策略的深度解析,旨在通過高質量的測試設計,嚴格控制產品設計質量,推動產業升級。 引言 串口屏
    的頭像 發表于 12-27 17:17 ?1190次閱讀

    自動化創建UI并解析數據

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

    自動化創建UI并解析數據

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

    自動化AI開發平臺功能介紹

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

    探索Playwright:前端自動化測試的新紀元

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

    機械自動化和電氣自動化區別是什么

    機械自動化和電氣自動化是現代工業生產中兩個重要的領域,它們在許多方面有著密切的聯系,但也存在一些明顯的區別。 一、基本概念 機械自動化 機械自動化是指利用機械設備、傳感器、控制系統等技
    的頭像 發表于 07-01 09:33 ?4525次閱讀

    機械自動化自動化的一種嗎

    引言 自動化技術是指利用控制裝置對生產過程進行控制,以實現生產過程的自動化。機械自動化自動化技術的一種,它主要涉及到使用機械設備和控制系統來實現生產過程的
    的頭像 發表于 07-01 09:32 ?1900次閱讀

    工業機器人、PLC與自動化之間的關系

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

    機械制造與自動化自動化類嗎

    機械制造與自動化自動化領域的一個重要分支,它涉及到機械設計、制造、檢測、控制等多個方面,是現代制造業的核心組成部分。 機械制造與自動化是指利用計算機、機器人、傳感器等自動化設備和技術
    的頭像 發表于 06-11 11:18 ?1673次閱讀

    工業自動化自動化區別是什么

    工業自動化自動化是兩個密切相關但又有所區別的概念。在這篇文章中,我們將詳細探討它們之間的區別,以及它們在現代工業生產中的應用。 一、自動化的定義 自動化是指通過使用機器、計算機和其他
    的頭像 發表于 06-11 11:13 ?1912次閱讀

    860-930MHz射頻前端芯片GC1109在工業自動化中的應用

    860-930MHz射頻前端芯片GC1109在工業自動化中的應用
    的頭像 發表于 05-09 09:59 ?539次閱讀
    860-930MHz射頻<b class='flag-5'>前端</b>芯片GC1109在工業<b class='flag-5'>自動化</b>中的應用

    2.4GHz ISM的射頻前端芯片GC1103用于工業自動化設備

    2.4GHz ISM的射頻前端芯片GC1103用于工業自動化設備
    的頭像 發表于 04-09 10:01 ?539次閱讀
    2.4GHz ISM的射頻<b class='flag-5'>前端</b>芯片GC1103用于工業<b class='flag-5'>自動化</b>設備

    Zebra Aurora深度學習OCR算法榮獲CAIMRS頒發的自動化創新獎

    在第二十二屆中國自動化及數字年度評選活動中,Zebra Aurora深度學習OCR算法獲得了由中國自動化及數字
    的頭像 發表于 03-20 16:35 ?511次閱讀
    主站蜘蛛池模板: 国产成人a毛片 | 免费黄色一级毛片 | 久久久99精品免费观看精品 | 不卡无毒免费毛片视频观看 | 天堂亚洲网| 永久手机看片福利盒子 | 中文字幕一区二区精品区 | 男人在线网站 | 狠狠ri| 四虎影院永久免费观看 | 日本三级强在线观看 | 国产婷婷高清在线观看免费 | www色.com| 爽好舒服快受不了了老师 | 中文字幕一区二区三区免费看 | 免费一级毛片在级播放 | 456主播喷水在线观看 | 狠狠狠色丁香婷婷综合激情 | 人人射人人爽 | 欧美黑人巨大xxx猛交 | 久久在草 | 久久夜色撩人精品国产 | www.亚洲综合 | 性网站在线观看 | 美国一级毛片不卡无毒 | 手机看片福利 | 美女扒开尿口给男人桶动态图 | 五月激情五月婷婷 | 国产精品香蕉成人网在线观看 | 在线女同免费观看网站 | 好吊妞视频988在线播放 | 亚洲成人三级电影 | 毛片一级黄色 | 精品国产影院 | 一丝不遮视频免费观看 | 在线免费观看黄色小视频 | 天堂在线bt | 亚洲码欧美码一区二区三区 | 2022天天操 | 亚洲日本视频在线观看 | 伊人久久成人成综合网222 |