You are on page 1of 9
Turn Python Scripts into Beautiful ML Tools a In ny experince, every nontrivial achive ering projet i eventually stced together with gen and unminaineble tena tol. These tools — often a patchwork of Juprter Notebooks and Flask apps— are iin on inte pate wll wich machine amin constructs ke Tensrfow GPU co deplsrequie reasoning about cen server arte, and east at Cari Mellon, chen a Besley, Google and ally ‘whi balding atonomos rbot at Zoos Thee tose fen borat lie upper ateboos: the senso calfatos oo the simaton| ‘compari pp he LIDAR aigament ap, tesenaio replay tol, 20 ‘Asoo grin nporcance, project mangers stepped in Preset sqeoute, Resuretee lawered. Tate soo projet getated ino er, seared gang maintenance niger ‘When aoa bec ri, we called inthe tos tam. They roe Muar Ve and Reset. They binged thei apops wih seers about declare frameworks, They bad design roe ‘Whi was awesome, Bu thes tol all needed new ets, ke Weekly “And hetool team ws supporting a oer proj. They would say, “well update your tool again nto oats ‘owe ree bak to ulin ou on tol, deplving Flask apps, weiting ‘HUM, ¢35, and savascrp, nd tying to version contol everything fom notebooks to siehoets So my od Google X end, Tiago Tete, and ‘began inking about fllowing question: What if we could make bulking tools as easy a writing Python sits? ‘We wanted machine ering engineers tobe abe w create Beautl pps ‘withoutneeding ool team, These internal ol should aise a anaterl ‘ypaouct ofthe ML workflow: Writings ols shou el ihe raining ‘neural eto performing ana hoc analsisin Jute tthe same tne, we waned to preserve all ofthe exity ofa power pp feamawork We ‘wanted orate beautiful, perforant oa ha engines could show ot. ‘Basically we waned this ‘Wit an amazing boa community incuding engineers rom Uber, Titer, ‘Stich Fig ae Dropbox, wore fora orto creat teat a completely fee and open source app anework for MLenginers, With ‘ach proterye, the core principles of Steal becae sine and pure. ‘Theyace: #1: Embrace Python serptng Steam pps are ely just spt that | ‘runfom tp tobotom, There’ no hidden state, You can factor youeode ‘wih uncon cal, you ne how owt Fyn eis, jo ea rte ‘Seal apps For xan thie how sou le tothe seren: Treat widgets as variables Tote ate nck in Stream! Every ‘eran sinply reruns the i ro tp totam This appre ead toealy ean code: are rede 209 Reuse dats and computation. Wht fy nn les of at perform comple computation? The key st sot) reuse information across run, Stream nrduces a cache pinkie da behaves ke persistent, ‘unmutable-y defo daa sore shat Steal apps safely and ‘tors eusenformation. Fr example, dhs code downloads data only ‘once roan the acy Soin ca proj, iliing a supe sap: Ew ‘hor, Steam works ik tis: 4. Theente seit isrun fom scratch foreach wserineraton, 2 Stenmlit ens enc varia an uptodate vale gven widget ates '3.Caching alos Stream skip redundant data tees and ehiesoundsneguing, you can ry iteght no! stam “Tos wllatomatially pop open. aweb browser pointing» youre Scat app. et js lick the ik, (0k Are you back fom playing with acta? Those can be mesmerizing. ‘chan wel pps wih Str Dring my tn at Zoos ad Googl Xt ‘watched elf rving ea projects llooned int iayies fv at, ‘which node to be searched ad nro nhingrmng ode | ingest compare performance. Every self driving.ca pete sen ‘vols had enti te working on this toting Bulag such tool Sweanlicis es: This Sueanlit dee ets you perform sens ssrch cos the ene Uday sel driving ca phon ata, visualize a annotted ground ath abel and na ‘complete neural net (VOLO) in ea ime on within he a9 [1 “Thewhole app complet slfcontand, 300 le Pon sei, ost ofwbich inmahine earning code Infac, there are ol 23 Sessile inthe whole app Vou can runt yoursel ight noe! ‘As we worked with machine learning teas on thir ov projets, we came ‘orealie dat hee snple ides yes mime ofinpora benef _streamlit app ae pe Python files, Soyo can we your foie itor and debugge with ter. Pure Python seips work seamlessly with it and oer source cos softwar, nui comms, pull requests, sues, nd eomment Because Streamlining languages pre Pyhon, you geal the beni of hse aman collaboration toler ee ioeescemenerer ‘Seveamllt provides an immediate mode lv coding environment fst dick Awe eran he Seat detect source le change © > © Oreanenssos ee: ‘caching simplifies suting up computation pipelines nazi, ining ached fnctions automaticaly createseficencomprtation Pipelines! Conser thio adapted from our Lary deme: sky he plpline ad meradaa~ eee. sumary Every tne the spt sr Stream oly recomptes whatever subset of the pipeline Is requiedto get the right answer, Coo? Stream is bul for GPUs Stel allows diet ase so acine evel nies ike enseFlow and Py Tord nd complements these rari. For example inthis demo, Steal scache stoces teenie NVIDIA ‘leit face GAN (2). This approach ensbes neal instantaneous Inference athe wer update les Srsamlit ia free and open-source library rather thana proprietary wel pp, Yu can serve Smeal apps on-pem without contacting, You cancven sun Steal lacallyon a apap without an internet cannes! Fhermors existing projets an adop Steam incrementally ‘oul say bout how our architecture works andthe features we awe Plann, beens tht for fe posts ‘We extedtofnally sore Seeamlt with the communi toda and ee References 1114. Redmon an A Farad, YOLOXS: An event proves g Adrien Treville gy Towards Data Science Mor From Medium How to Learn Data Science foe Five Srinny vino How I Leasned Data Scicnce And The 1 Course That Changed Everything ern

You might also like