ランキングに戻る

emilwallner/Screenshot-to-code

HTML

A neural network that transforms a design mock-up into a static website.

kerasdeep-learningseq2seqencoder-decoderlstmfloydhubmachine-learningcnncnn-kerasjupyter-notebookjupyter
スター成長
スター
16.5k
フォーク
1.5k
週間成長
Issue
18
5k10k15k
2017年10月2020年9月2023年8月2026年7月
README

A detailed tutorial covering the code in this repository: Turning design mockups into code with deep learning.

Plug: 👉 Check out my 60-page guide, No ML Degree, on how to land a machine learning job without a degree.

The neural network is built in three iterations. Starting with a Hello World version, followed by the main neural network layers, and ending by training it to generalize.

The models are based on Tony Beltramelli's pix2code, and inspired by Airbnb's sketching interfaces, and Harvard's im2markup.

Note: only the Bootstrap version can generalize on new design mock-ups. It uses 16 domain-specific tokens which are translated into HTML/CSS. It has a 97% accuracy. The best model uses a GRU instead of an LSTM. This version can be trained on a few GPUs. The raw HTML version has potential to generalize, but is still unproven and requires a significant amount of GPUs to train. The current model is also trained on a homogeneous and small dataset, thus it's hard to tell how well it behaves on more complex layouts.

Dataset: https://github.com/tonybeltramelli/pix2code/tree/master/datasets

A quick overview of the process:

1) Give a design image to the trained neural network

Insert image

2) The neural network converts the image into HTML markup

3) Rendered output

Screenshot

Installation

FloydHub

Run on FloydHub

Click this button to open a Workspace on FloydHub where you will find the same environment and dataset used for the Bootstrap version. You can also find the trained models for testing.

Local

pip install keras tensorflow pillow h5py jupyter
git clone https://github.com/emilwallner/Screenshot-to-code.git
cd Screenshot-to-code/
jupyter notebook

Go do the desired notebook, files that end with '.ipynb'. To run the model, go to the menu then click on Cell > Run all

The final version, the Bootstrap version, is prepared with a small set to test run the model. If you want to try it with all the data, you need to download the data here: https://www.floydhub.com/emilwallner/datasets/imagetocode, and specify the correct dir_name.

Folder structure

  |  |-Bootstrap                           #The Bootstrap version
  |  |  |-compiler                         #A compiler to turn the tokens to HTML/CSS (by pix2code)
  |  |  |-resources											
  |  |  |  |-eval_light                    #10 test images and markup
  |  |-Hello_world                         #The Hello World version
  |  |-HTML                                #The HTML version
  |  |  |-Resources_for_index_file         #CSS,images and scripts to test index.html file
  |  |  |-html                             #HTML files to train it on
  |  |  |-images                           #Screenshots for training
  |-readme_images                          #Images for the readme page

Hello World

HTML

Bootstrap

Model weights

  • Bootstrap (The pre-trained model uses GRUs instead of LSTMs)
  • HTML

Acknowledgments

  • Thanks to IBM for donating computing power through their PowerAI platform
  • The code is largely influenced by Tony Beltramelli's pix2code paper. Code Paper
  • The structure and some of the functions are from Jason Brownlee's excellent tutorial
関連リポジトリ
lutzroeder/netron

Visualizer for neural network, deep learning and machine learning models

JavaScriptnpmMIT Licenseneural-networkdeep-learning
netron.app
33.3k3.2k
tqdm/tqdm

:zap: A Fast, Extensible Progress Bar for Python and CLI

PythonPyPIOtherprogressbarprogressmeter
tqdm.github.io
31.2k1.5k
donnemartin/data-science-ipython-notebooks

Data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe, Keras), scikit-learn, Kaggle, big data (Spark, Hadoop MapReduce, HDFS), matplotlib, pandas, NumPy, SciPy, Python essentials, AWS, and various command lines.

PythonPyPIOtherpythonmachine-learning
29.3k8k
d2l-ai/d2l-en

Interactive deep learning book with multi-framework code, math, and discussions. Adopted at 500 universities from 70 countries including Stanford, MIT, Harvard, and Cambridge.

PythonPyPIOtherdeep-learningmachine-learning
d2l.ai
29.2k5.1k
matterport/Mask_RCNN

Mask R-CNN for object detection and instance segmentation on Keras and TensorFlow

PythonPyPIOthermask-rcnntensorflow
25.6k11.6k
lukasmasuch/best-of-ml-python

🏆 A ranked list of awesome machine learning Python libraries. Updated weekly.

Creative Commons Attribution Share Alike 4.0 Internationalpythonmachine-learning
ml-python.best-of.org
23.7k3.1k
Tencent/ncnn

ncnn is a high-performance neural network inference framework optimized for the mobile platform

C++Otherinferencehigh-preformance
23.6k4.5k
MLEveryday/100-Days-Of-ML-Code

100-Days-Of-ML-Code中文版

Jupyter NotebookMIT Licensemachine-learningpython
22.2k5.5k
onnx/onnx

Open standard for machine learning interoperability

PythonPyPIApache License 2.0deep-learningdeep-neural-networks
onnx.ai
21.2k4k
ml-tooling/best-of-ml-python

🏆 A ranked list of awesome machine learning Python libraries. Updated weekly.

Creative Commons Attribution Share Alike 4.0 Internationalpythonmachine-learning
ml-python.best-of.org
19.8k2.7k
kailashahirwar/cheatsheets-ai

Essential Cheat Sheets for deep learning and machine learning researchers https://medium.com/@kailashahirwar/essential-cheat-sheets-for-machine-learning-and-deep-learning-researchers-efb6a8ebd2e5

MIT Licensedeep-learningartificial-intelligence
aicheatsheets.com
15.4k3.4k
horovod/horovod

Distributed training framework for TensorFlow, Keras, PyTorch, and Apache MXNet.

PythonPyPIOthertensorflowuber
horovod.ai
14.7k2.2k