From 34f0044bc584a6836166e20b606ae43252f5f326 Mon Sep 17 00:00:00 2001 From: Jiri BOROVEC Date: Mon, 5 Aug 2019 22:02:48 +0200 Subject: [PATCH] update README use stick MD syntax --- README.md | 54 ++++++------------ docs/source/_static/lightning_logo_medium.png | Bin 0 -> 8543 bytes docs/source/_static/lightning_logo_small.png | Bin 0 -> 2643 bytes 3 files changed, 19 insertions(+), 35 deletions(-) create mode 100644 docs/source/_static/lightning_logo_medium.png create mode 100644 docs/source/_static/lightning_logo_small.png diff --git a/README.md b/README.md index 7542eeef3a..ca0ba4b0a5 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,21 @@ -

- - - -

-

- PyTorch Lightning -

-

- The PyTorch Keras for ML researchers. More control. Less boilerplate. -

+![Logo](./docs/source/_static/lightning_logo_medium.png) -

- PyPI version - PyPI version - Supported Python Version - - - - -

+# PyTorch Lightning +**The PyTorch Keras for ML researchers. More control. Less boilerplate.** + + +[![PyPI Status](https://badge.fury.io/py/pytorch-lightning.svg)](https://badge.fury.io/py/pytorch-lightning) +[![PyPI Status](https://pepy.tech/badge/pytorch-lightning)](https://pepy.tech/project/pytorch-lightning) +[![Build Status](https://travis-ci.org/williamFalcon/pytorch-lightning.svg?branch=master)](https://travis-ci.org/williamFalcon/pytorch-lightning) +[![Build status](https://ci.appveyor.com/api/projects/status/rum89d7hq8l1kfye?svg=true)](https://ci.appveyor.com/project/Borda/pytorch-lightning) +[![codecov](https://codecov.io/gh/Borda/pytorch-lightning/branch/master/graph/badge.svg)](https://codecov.io/gh/Borda/pytorch-lightning) +[![CodeFactor](https://www.codefactor.io/repository/github/borda/pytorch-lightning/badge)](https://www.codefactor.io/repository/github/borda/pytorch-lightning) +[![ReadTheDocs](https://readthedocs.org/projects/pytorch-lightning/badge/?version=latest)](https://pytorch-lightning.readthedocs.io/en/latest) +[![license](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/williamFalcon/pytorch-lightning/blob/master/LICENSE) + + +Simple installation from PyPI ```bash pip install pytorch-lightning ``` @@ -137,11 +133,7 @@ print('and going to http://localhost:6006 on your browser') Everything in gray! You define the blue parts using the LightningModule interface: -

- - - -

+![Ouverview](./docs/source/_static/overview_flat.jpg) ```{.python} # what to do in the training loop @@ -223,19 +215,11 @@ def validation_end(self, outputs): ## Tensorboard Lightning is fully integrated with tensorboard. -

- - - -

+![tensorboard-support](./docs/source/_static/tf_loss.png) Lightning also adds a text column with all the hyperparameters for this experiment. -

- - - -

+![tensorboard-support](./docs/source/_static/tf_tags.png) Simply note the path you set for the Experiment ``` {.python} diff --git a/docs/source/_static/lightning_logo_medium.png b/docs/source/_static/lightning_logo_medium.png new file mode 100644 index 0000000000000000000000000000000000000000..a28606b541632d4dbc96213d9e731d3c4636778c GIT binary patch literal 8543 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 aFaRP+5wK*-7wE%LfU2U_t6BxCu>S!pn_y`G literal 0 HcmV?d00001 diff --git a/docs/source/_static/lightning_logo_small.png b/docs/source/_static/lightning_logo_small.png new file mode 100644 index 0000000000000000000000000000000000000000..17d0aa92bce2bc4668dd455642253cfd1a2bf363 GIT binary patch literal 2643 zcmV-Z3as^sP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+MQNek|ZY#{pS=u0@@H9M`DTa4Sak*vZ_2i9pedy z$nJSXFn%2v>`#;JHtM~)B7CKROPMmxyobpb;K-3oBSBlOTRxqyB7BUzsi3-c+R{K(Jg3s z(GS1)(!!8ZL0)0PF@0!#!O2fTQ2q6|2(yS+*ZgN-MsH` zf=N&ZgV~5hxsZ~hG(^d`iBqTe_!o~)@=n-a52%J>y7Wu!uOITDSEhXYl5d{XFM;cI zsoI@{j2acE+ByoAgfwW7U3>r*aw-YAO{Kdq;o5zRtRczRoVF;A;2a;`D@C_QBH+TMEr!rpM|*w_sv;tff; zcW4NE^nQRZLG9|fr_G$LuUI3NYXjIpi^N($x6FAsPLA8uS~ov|HZ}(#>#d&!6phaU zJtlI5d};6=gNMPReT)!PqfFllWTrdC%puTu1kO_H>?a#T4KEzD5$S6z-WIcJu9aRu zm*<#cFI1%pr|PnC;Oy*e+w`NdmH|;8)Ma*{48!Ew$G+}5ZA2GEa>tTPpy{keavIG6 zUNy(s@PF+Vwt!>w+gvxG_iRhT5O1Bdfy1O(8hAdqnshzL)D2q-+AhP{aiV9FjO}zXgZCtN4@Ow(U=R22V71cuvx*{szFE(=vTBnG!5#z)#Jd+ zIZtZM;`JDtfv;RnKn=%E9vSL+Gp6ghVOk7q<821V6^R&q7&4M*Z{6snTpCp12YYAR zP%Soi^@VrIQKTARZumOb?x!wg&E~OAknE^|bn9TLS>L23EM(7Z4IIQ^cRMg1E)BVr zy9cH@^6a5=8R!|O`OdH@2)L2LcUX*aCS2i)EaU{TEL)h7!YCq>jVv^s&LFF=bJO7- zZ&LxWNZ;xk&{1Ej@a}NmV$Za71}&ebogG^Ry?Ti4)LTY*;23JGqRe7(+Zq)_rQvPv z3Xc-aaw-7Hc6ij4Q)qgk9BRM~!5Npw2o-bXoq9NOQ3hNprjmHpb_ynKtnDZJgh zK5L2@5acBSKH9?fQBV@2)EX=`ydNgg%Lh8`V(<7iL5+d^+6`S?@ZUn^MK?naYx5F@ zFNYjuqXb8lc2L+j#>CbLd7G$gQ3vVUyP;W z000DYLP=Bz2nYy#2xN!=00iqvL_t(&-qo7TZCALy z-g{l#*Jh@jQJA^Y!YpSp@BRJGdG5LAo*BumJ@=Q0+GNlM5FU@05tJCC$5bqy$4ESY z7&IbklZqq1Ld!Z%1KOySio7VnXoHC3$F4}!1s3vUJl~^I)=o{Rc8ga^xIa@Qd!m~U zZ@$TfEg8zi2vKfa_-)fJ7Mt1W0!L5xk{#%wybysgPN7xpio6w{=jfR}4!^e-qYXcP zG0fdxrwCI4#!>B1?ZReuy1=nB{Tv?Xp;EHQ+_;#-7`GeQZx=Sl&h(KT=pm|TyuhO{ zS7PwX5fbST9hpZDA*sS%74A3%{cyjq5(5d4#G<&IX+DpP@XV%3BpA9Lek4(+}R zZO(uwp;V~w%+{xP{r$ZdV^E$f6Ss)Z{Sr4X=SVti9a=L0R7#rloon$!4-9qdx(FC; z2$Mdq9Dk8QzGOGOtg-=PAWZq(8Jc8vvVbUQSl2}f$`cNq=;nVuhdLn_4rihO--4RMuqHr}^gd zUpRNkl71SuIvDid9 zAlVVvyThX}mCzaj&!b$bfHX#1S2Uu8pRe9wV&ooS!e3p4mYx&+N4jFA%SG8qg<^Pc zf{%}1!4JKr3z1U;B0_ng!iLTaJ9?kB?|EvucwaFxIKk=t=b8OGPmu7M?pECzP(m?Z zX6L>wJh3hrPa*1yKehi;W+w|II$FEvJ4Z+ab{%-$!fzUjpPS5+>Il&l-O_r#Q+$dR zpPl_%Y`u^1sTF^oxyb^_j*zHD@opz`N+=ep@v+y)M%cIz-Z&U#O~#lTiHRp1cfnr>>oL|y6K|ho5uhE002ovPDHLkV1i6- B5zYVr literal 0 HcmV?d00001