最近兩年來,人工智能正在以人們不可思議的速度顛覆科技行業。前不久,偶然看到一篇從草圖到HTML只需5秒文章,讓我感受「使用人工智能自動生成網頁」已經變得愈來愈現實。而本文將要介紹的SketchCode 的卷積神經網絡可以把網站圖形用戶界面的設計草圖直接轉譯成代碼行,爲前端開發者們分擔部分設計流程。目前,該模型在訓練後的 BLEU 得分已達 0.76。css
本篇原文連接:深度學習使用sketch-code 草圖、手稿自動生成HTML前端頁面html
下面就來簡單的認識下這個框架,你能夠在 GitHub 上找到這個項目的代碼:github.com/ashnkumar/s… 前端
Keras==2.1.2
tensorflow==1.4.0
nltk==3.2.5
opencv-python==3.3.0.10
numpy==1.13.1
h5py==2.7.1
matplotlib==2.0.2
Pillow==4.3.0
tqdm==4.17.1
scipy==1.0.0
複製代碼
而後直接進入項目根目錄下,使用pip命令進行安裝。python
pip install -r requirements.txt
複製代碼
進入到scripts文件下,會發現多了兩個文件。 jquery
sh get_data.sh
sh get_pretrained_model.sh
複製代碼
這裏使用wget下載所須要的包,文件將近1個G大小,會有點慢,建議直接打開這兩個文件 拷貝連接使用迅雷下載再放進指定目錄。 linux
爲了測試,咱們先畫一張圖 git
python convert_single_image.py --png_path ../examples/img002.png \
--output_folder ./generated_html \
--model_json_file ../bin/model_json.json \
--model_weights_file ../bin/weights.h5
複製代碼
而後耐心的等待他渲染前端代碼,大概一分鐘左右。 github
<style>
div{
border:1px solid black;
}
</style>
複製代碼
生成的代碼:npm
<html>
<header>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css"
integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<style>
.header{margin:20px 0}nav ul.nav-pills li{background-color:#333;border-radius:4px;margin-right:10px}.col-lg-3{width:24%;margin-right:1.333333%}.col-lg-6{width:49%;margin-right:2%}.col-lg-12,.col-lg-3,.col-lg-6{margin-bottom:20px;border-radius:6px;background-color:#f5f5f5;padding:20px}.row .col-lg-3:last-child,.row .col-lg-6:last-child{margin-right:0}footer{padding:20px 0;text-align:center;border-top:1px solid #bbb}
</style>
<title>Scaffold</title>
<style>
div{
border:1px solid black;
}
</style>
</header>
<body>
<main class="container">
<div class="header clearfix">
<nav>
<ul class="nav nav-pills pull-left">
<li><a href="#">Rmjoyzs Sj</a></li>
<li><a href="#">Dtve Erhaz</a></li>
<li><a href="#">Rnwy Ytpdy</a></li>
</ul>
</nav>
</div>
<div class="row">
<div class="col-lg-12">
<h4>Ghhbl</h4>
<p>azsiooemicuwzfzihzwszwifivztb ejpb hcukgvayzsrmfd zfheqz</p>
<a class="btn btn-warning" href="#" role="button">Eyzedji Ii</a>
</div>
</div>
<div class="row">
<div class="col-lg-3">
<h4>Cajql</h4>
<p>sw f qpgtzfwyjo fkygfdozgtsmvxqcdgtakfusadoqhj zc ynpmuj</p>
<a class="btn btn-warning" href="#" role="button">Vbcmla Awl</a>
</div>
<div class="col-lg-3">
<h4>Dtgpz</h4>
<p>qtim b baoi ifbohotcxhvyonys hffqjjnip hrl nymsqiawxoou</p>
<a class="btn btn-warning" href="#" role="button">Gypkcdc Cu</a>
</div>
<div class="col-lg-3">
<h4>Pfdib</h4>
<p>met mlu fexp gwty afd qvwislevvmx afymfoytwytucytqpj vma</p>
<a class="btn btn-warning" href="#" role="button">Rtro Omwgb</a>
</div>
<div class="col-lg-3">
<h4>Dofwm</h4>
<p>ipaobcqhuzmtj rw uqlmohukgqfhenp zxgnrjt vgh psgabonmhfn</p>
<a class="btn btn-warning" href="#" role="button">Dssgiz Zqg</a>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<h4>Vyilr</h4>
<p>ztrcrpzxrdqvq ex k dsckj rvwc woshsyvbnydkkk rvsv rsgvlt</p>
<a class="btn btn-warning" href="#" role="button">Evlk Kfglm</a>
</div>
<div class="col-lg-6">
<h4>Rdewa</h4>
<p>ycbtmxmnmt z yqdnclxfektreixx m j ckgyagaqwnkf os nfzfoa</p>
<a class="btn btn-warning" href="#" role="button">Rkcbs Serv</a>
</div>
</div>
</main>
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>
複製代碼
經過利用圖像標註的研究成果,SketchCode 可以在幾秒鐘內將手繪網站線框圖轉換爲可用的 HTML 網站。但目前仍有如下侷限:json