From 44496968c6f7042332dd147858696e9f6efd32b5 Mon Sep 17 00:00:00 2001 From: Thomas Chaton Date: Tue, 2 Nov 2021 04:56:32 -0400 Subject: [PATCH 1/8] wip --- docs/source/starter/lightning_lite.rst | 16 +++-- grid_generated_0.png | Bin 0 -> 6994 bytes grid_generated_1.png | Bin 0 -> 6994 bytes grid_ori_0.png | Bin 0 -> 1219 bytes pl_examples/README.md | 10 ++- pl_examples/basic_examples/README.md | 62 +++++++++++++++--- .../image_classifier_4_lightning_module.py | 3 + ...image_classifier_5_lightning_datamodule.py | 3 + pl_examples/run_examples.sh | 2 + 9 files changed, 80 insertions(+), 16 deletions(-) create mode 100644 grid_generated_0.png create mode 100644 grid_generated_1.png create mode 100644 grid_ori_0.png diff --git a/docs/source/starter/lightning_lite.rst b/docs/source/starter/lightning_lite.rst index ef04a02e2cd8a..906a5aae3aa96 100644 --- a/docs/source/starter/lightning_lite.rst +++ b/docs/source/starter/lightning_lite.rst @@ -3,15 +3,14 @@ LightningLite - Stepping Stone to Lightning ########################################### +:class:`~pytorch_lightning.lite.LightningLite` enables pure PyTorch users to scale their existing code +on any kind of device while retaining full control over their own loops and optimization logic. + .. image:: https://pl-public-data.s3.amazonaws.com/docs/static/images/lite/lightning_lite.gif - :alt: Animation showing how to convert a standard training loop to a Lightning loop - :width: 600px + :alt: Animation showing how to your PyTorch code to convert to LightningLite. + :width: 400 :align: center -| - -:class:`~pytorch_lightning.lite.LightningLite` enables pure PyTorch users to scale their existing code -on any kind of device while retaining full control over their own loops and optimization logic. :class:`~pytorch_lightning.lite.LightningLite` is the right tool for you if you match one of the two following descriptions: @@ -246,6 +245,9 @@ from its hundreds of features. You can see our :class:`~pytorch_lightning.lite.LightningLite` as a future :class:`~pytorch_lightning.core.lightning.LightningModule` and slowly refactor your code into its API. +Below, the :meth:`~pytorch_lightning.core.lightning.LightningModule.training_step`, :meth:`~pytorch_lightning.core.lightning.LightningModule.forward`, +:meth:`~pytorch_lightning.core.lightning.LightningModule.configure_optimizers`, :meth:`~pytorch_lightning.core.lightning.LightningModule.train_dataloader` +are being implemented. .. code-block:: python @@ -300,7 +302,7 @@ future :class:`~pytorch_lightning.core.lightning.LightningModule` and slowly ref Finally, change the :meth:`~pytorch_lightning.lite.LightningLite.run` into a -:meth:`~pytorch_lightning.core.lightning.LightningModule.__init__` and drop the inner code for setting up the components. +:meth:`~pytorch_lightning.core.lightning.LightningModule.__init__` and drop the fit method. .. code-block:: python diff --git a/grid_generated_0.png b/grid_generated_0.png new file mode 100644 index 0000000000000000000000000000000000000000..09eb01ffee15ee95643f2930330ffffeaff11d5e GIT binary patch literal 6994 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 literal 0 HcmV?d00001 diff --git a/grid_generated_1.png b/grid_generated_1.png new file mode 100644 index 0000000000000000000000000000000000000000..09eb01ffee15ee95643f2930330ffffeaff11d5e GIT binary patch literal 6994 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 literal 0 HcmV?d00001 diff --git a/grid_ori_0.png b/grid_ori_0.png new file mode 100644 index 0000000000000000000000000000000000000000..497e4973b884cac667db79f054fb183d2a96819e GIT binary patch literal 1219 zcmV;!1U&nRP)AVGoz2@>Rw zVrFK>>-APwR|i_y*4E~5I9@+ua&l6sRDOrs-vNiiF&d2kfb;Y7fC`(Mn!uOXY___( zy6t9Qd{0>{R(W~(;Nal% z^Yg^S1a5mo_zPcIYHI5C_BNGDeSCZ@Dk@rATf<&Ur_*0vUS3~cKYSV;9lg4`DiVpN zrlu+?DzFIh`Fx2)l97?|S%Z*}5V>5AAV_z2cW-YmcB_GrnVAWPy4h?dQI^eSZ)|J; z0PJ>qPEHQSs*#Zq&l>;$k00-T9v&WI5yUfnI2=xYe?Po78jUyhl9uC z<>lqY#l}`UcR}xiBYGqv9YtW6J94JB?$xq9*<|WTIqCpWMt&o+1bj< zidZbx>2$cQ{yQ@>GjN#b_4=@|FdPbng@p!#;p*zjY&IVq9a$_E|An@`zMgc?5{bm) z@jN^{2!%q@#Su1}y}!Q?-4_=Z;}f~NyZd7I+1c62&(9~m0m4%`x z002eN($Z4gI$SPS{6=D8qVK*?D3r-$zQ}fWcgb*#Aa5fD<3bw%QBhG#OH0u1?CdPb z>VAZVhDxQ<>+5Tm%eB0`92*;pLxe`7<>lq|^z?Lhcel53)J(EVkKf005Org|TE{U|@K7xS*gwtJSWruYa~fqbMp62uQFP z5fO26a`Jt2w~C zXMTQOC=~wq@q+|&;o;$ni;FOkwY4?>Q+c4&*4DPPv~amxERC5==KcLW0N~)@0C$fN zxX?~dPZQMnh3^&a>FFswJsr1>TrPLJ-2i~&`1N+Ae>EG#Ve&JHOl zDFoG;nwoBJZ{eEf3wmg1C@n1wrV|zx#$vHpELK870!#z|(AwHcuwNJo03bIvm!K3v zqtUEZD|Dt%D2U3vp-?Es#>P+-g|o@G&8t+Zv$L~z2i&QtDdIgc7>v`?Q*uISXlQ`W z_V)JJY&LOo@2IJ%866#UI-UMwhx9}sCX>nQ^-85uqC)BE>F@|k;xPG;s;VlDM&lpH z+}s@TS>q3!jAU*={{svL1IAGP{ta&aBlPw4Aqc`|vuQNi*DdjXqy6L1>-E#q)0dZ* hpM41p5+n$5egYD7Ldw>)hDQJZ002ovPDHLkV1kjyQ?md7 literal 0 HcmV?d00001 diff --git a/pl_examples/README.md b/pl_examples/README.md index 58cc5c64d8c4b..6d3e9351d8fc5 100644 --- a/pl_examples/README.md +++ b/pl_examples/README.md @@ -25,7 +25,7 @@ In this folder, we have 2 simple examples: - [Image Classifier](./basic_examples/backbone_image_classifier.py) (trains arbitrary datasets with arbitrary backbones). - [Image Classifier + DALI](./basic_examples/mnist_examples/image_classifier_4_dali.py) (defines the model inside the `LightningModule`). -- [Autoencoder](./basic_examples/autoencoder.py) (shows how the `LightningModule` can be used as a system) +- [Autoencoder](./basic_examples/autoencoder.py) ______________________________________________________________________ @@ -37,6 +37,14 @@ for advanced use cases. ______________________________________________________________________ +## Basic Examples + +In this folder, we have 1 simple example: + +- [Image Classifier + DALI](./integration_examples/dali_image_classifier.py) (defines the model inside the `LightningModule`). + +______________________________________________________________________ + ## Loop examples Contains implementations leveraging [loop customization](https://pytorch-lightning.readthedocs.io/en/latest/extensions/loops.html) to enhance the Trainer with new optimization routines. diff --git a/pl_examples/basic_examples/README.md b/pl_examples/basic_examples/README.md index b1b02f90ecb24..59559cf3b89e9 100644 --- a/pl_examples/basic_examples/README.md +++ b/pl_examples/basic_examples/README.md @@ -14,7 +14,7 @@ Trains a simple CNN over MNIST using vanilla PyTorch. ```bash # CPU -python image_classifier_1_pytorch.py +python mnist_examples/image_classifier_1_pytorch.py ``` ______________________________________________________________________ @@ -25,7 +25,7 @@ This script shows you how to scale the previous script to enable GPU and multi-G ```bash # CPU / multiple GPUs if available -python image_classifier_2_lite.py +python mnist_examples/image_classifier_2_lite.py ``` ______________________________________________________________________ @@ -36,7 +36,7 @@ This script shows you how to prepare your conversion from [LightningLite](https: ```bash # CPU / multiple GPUs if available -python image_classifier_3_lite_to_lightning_module.py +python mnist_examples/image_classifier_3_lite_to_lightning_module.py ``` ______________________________________________________________________ @@ -47,10 +47,10 @@ This script shows you the result of the conversion to the `LightningModule` and ```bash # CPU -python image_classifier_4_lightning_module.py +python mnist_examples/image_classifier_4_lightning_module.py # GPUs (any number) -python image_classifier_4_lightning_module.py --trainer.gpus 2 +python mnist_examples/image_classifier_4_lightning_module.py --trainer.gpus 2 ``` ______________________________________________________________________ @@ -61,11 +61,57 @@ This script shows you how to extract the data related components into a `Lightni ```bash # CPU -python image_classifier_5_lightning_datamodule.py +python mnist_examples/image_classifier_5_lightning_datamodule.py # GPUs (any number) -python image_classifier_5_lightning_datamodule.py --trainer.gpus 2 +python mnist_examples/image_classifier_5_lightning_datamodule.py --trainer.gpus 2 # Distributed Data Parallel (DDP) -python image_classifier_5_lightning_datamodule.py --trainer.gpus 2 --trainer.strategy 'ddp' +python mnist_examples/image_classifier_5_lightning_datamodule.py --trainer.gpus 2 --trainer.strategy 'ddp' +``` + +______________________________________________________________________ + +#### AutoEncoder + +This script shows you to implement an CNN auto-encoder. + +```bash +# CPU +python autoencoder.py + +# GPUs (any number) +python autoencoder.py --trainer.gpus 2 + +# Distributed Data Parallel (DDP) +python autoencoder.py --trainer.gpus 2 --trainer.strategy 'ddp' +``` + +______________________________________________________________________ + +#### Backbone Image Classifier + +This script shows you to implement a `LightningModule` as a `System`. +A System describes a `LightningModule` which takes a single a `torch.nn.Module` which makes +exporting to producion simpler. + +```bash +# CPU +python backbone_image_classifier.py + +# GPUs (any number) +python backbone_image_classifier.py --trainer.gpus 2 + +# Distributed Data Parallel (DDP) +python backbone_image_classifier.py --trainer.gpus 2 --trainer.strategy 'ddp' +``` + +______________________________________________________________________ + +#### PyTorch Profiler + +This script shows you to activate the [PyTorch Profiler](https://github.com/pytorch/kineto) with Lightning. + +```bash +python profiler_example.py ``` diff --git a/pl_examples/basic_examples/mnist_examples/image_classifier_4_lightning_module.py b/pl_examples/basic_examples/mnist_examples/image_classifier_4_lightning_module.py index cb67d3446c51a..b3a3b3f755ebd 100644 --- a/pl_examples/basic_examples/mnist_examples/image_classifier_4_lightning_module.py +++ b/pl_examples/basic_examples/mnist_examples/image_classifier_4_lightning_module.py @@ -18,6 +18,7 @@ import torch import torchvision.transforms as T from torch.nn import functional as F +from torchmetrics import Accuracy from pl_examples import cli_lightning_logo from pl_examples.basic_examples.mnist_datamodule import MNIST @@ -31,6 +32,7 @@ def __init__(self, model=None, lr=1.0, gamma=0.7, batch_size=32): super().__init__() self.save_hyperparameters() self.model = model or Net() + self.test_acc = Accuracy() def forward(self, x): return self.model(x) @@ -45,6 +47,7 @@ def test_step(self, batch, batch_idx): x, y = batch logits = self.forward(x) loss = F.nll_loss(logits, y.long()) + self.log("test_acc", self.test_acc(logits, y)) return loss def configure_optimizers(self): diff --git a/pl_examples/basic_examples/mnist_examples/image_classifier_5_lightning_datamodule.py b/pl_examples/basic_examples/mnist_examples/image_classifier_5_lightning_datamodule.py index 4020d101ccab6..7c3fed9b9cc17 100644 --- a/pl_examples/basic_examples/mnist_examples/image_classifier_5_lightning_datamodule.py +++ b/pl_examples/basic_examples/mnist_examples/image_classifier_5_lightning_datamodule.py @@ -18,6 +18,7 @@ import torch import torchvision.transforms as T from torch.nn import functional as F +from torchmetrics import Accuracy from pl_examples import cli_lightning_logo from pl_examples.basic_examples.mnist_datamodule import MNIST @@ -31,6 +32,7 @@ def __init__(self, model, lr=1.0, gamma=0.7, batch_size=32): super().__init__() self.save_hyperparameters() self.model = model or Net() + self.test_acc = Accuracy() def forward(self, x): return self.model(x) @@ -45,6 +47,7 @@ def test_step(self, batch, batch_idx): x, y = batch logits = self.forward(x) loss = F.nll_loss(logits, y.long()) + self.log("test_acc", self.test_acc(logits, y)) return loss def configure_optimizers(self): diff --git a/pl_examples/run_examples.sh b/pl_examples/run_examples.sh index 4a15c3367d35f..979ff40dfed74 100755 --- a/pl_examples/run_examples.sh +++ b/pl_examples/run_examples.sh @@ -10,6 +10,7 @@ args=" --trainer.limit_test_batches=2 --trainer.limit_predict_batches=2 --optimizer=Adam + --lr_scheduler=ConstantLR " python "${dir_path}/basic_examples/backbone_image_classifier.py" ${args} "$@" @@ -30,6 +31,7 @@ args=" --trainer.limit_test_batches=2 --trainer.limit_predict_batches=2 --optimizer=Adam + --lr_scheduler=ConstantLR " python "${dir_path}/basic_examples/mnist_examples/image_classifier_4_lightning_module.py" ${args} "$@" From d1ffa3ecb95b2c12bff13913f21de905fc44dd4b Mon Sep 17 00:00:00 2001 From: Thomas Chaton Date: Tue, 2 Nov 2021 04:57:14 -0400 Subject: [PATCH 2/8] update --- .gitignore | 3 +++ grid_generated_0.png | Bin 6994 -> 0 bytes grid_generated_1.png | Bin 6994 -> 0 bytes grid_ori_0.png | Bin 1219 -> 0 bytes 4 files changed, 3 insertions(+) delete mode 100644 grid_generated_0.png delete mode 100644 grid_generated_1.png delete mode 100644 grid_ori_0.png diff --git a/.gitignore b/.gitignore index 997886d648614..e1d165dd5dbb1 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,9 @@ __pycache__/ *.py[cod] *$py.class timit_data/ +grid_generated* +grid_ori* + # C extensions diff --git a/grid_generated_0.png b/grid_generated_0.png deleted file mode 100644 index 09eb01ffee15ee95643f2930330ffffeaff11d5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6994 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 diff --git a/grid_generated_1.png b/grid_generated_1.png deleted file mode 100644 index 09eb01ffee15ee95643f2930330ffffeaff11d5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6994 zcmW+*2|UyP8(+w==14*kOJX4;Im)q^BT14FLQC#rAtYy#BqT}WH_K0Q%$cM)la}U| z>nFL1Idk9qAOCq(UcLD2`97cLd0&e%Hqzrn3Ly~)1m`7voC*AE4S&$=Oz=04`_mEx z;^>h}xQnL#|I84_ZQEBjcC~qRc@@GQ$IHKbv5&P!d*8KvcP@SlW5%8OdEP)hHAg+K z%O&VzKw*bvn^Z~NwTnDBu6pAmQtbM7#h(|x#G>ubXekl5JOTq-^+HOkLcTm080tSO zm%qAPmEV0o2>W)I1YZqB%sZo_qmQ3F@#rfnDJ*eArmU!#)#)OYm}895)zcfO z4yktURXR_S_0|NtLVc|c2{s$w0d{Dz$kNZb(Nf)%o~Lxkw_0$rstQJ4@cq5 zD2Gw3EzQk;#>X`S*IFAIq)(m7uBZ@Z3d8UrB_%Wa%KfT?Hdh+ts#(IYo2zr&92`AG zcl2)GzKz8qqG1duGZc46-$s=`fn*M(g zadnyR-)q1(C{{Tc85I?k>Av#P;^M`%`4Kb^JBo$Y($Z2}n-1MD$PkPFalvm^QBe`6 zqjOGCacy&RuD`PU?c28>KD?|OIV~r5H0Jx$r%yve5hNo=MWK+jp~z>?kQlz4HYXOQ zeewEk9v-aWnlGYoVqB5s0n1W}20CfRG#V`?CdRcpKWKhfhd}t7s{Rm(L>gSaT=)IE zn^N!3pC-n}JmEDKmX;qZ^91BUt6xsjQ^L%E~$mWfm3|mX!tA*&&$11W`|Z{Lq(3$nJExBGFEZ77$hQ zM?`3qSe_=gtgfsCFHd&vl26^dc@rlV-!jh4&0Szy-S1M8V=5&t*k~v3ua=sU();7b z4@P^Yx3{5G3?zptH<1+lcot=jT1WG@Ce2hhZa_?PPVqCAZ85kJYyDNA>H+a}T zdJbra#j7YNd>xtRJ#+}BsK&0a#|?2Lu5Qu4;(Df0&;}#Z>XX}X9(HTlZW=A4y!?WO zhD||tc+DVOdv|9iV>v)Jsr*h|Y<_+|^aooU85xO13m!Rg$v#V??b|ntJTq}#>fMIdWo73{M%@DgS+6wc` z6&YSTWQ^fsVIsbH!xK&8VTZAN92vw{ghW(sgA+u7j*Z!De*?}9Xhl)P7XZrqD% zC%^VR=4kcy3QU#0l~wQW-`1|Ku3B1J*RNlP_TcgOd-v{{n|C9rMMXt$V1`MWF$Tq& z-p+7vZ~&}%WBA@$c6{F7He~z0p`oFlU#U$2Y;y%v^WT3K*RQvCbeO_XCMG5@ua1t6 zfq{Yd?wv_$s3Z)19Y}3~2S0J*#F!Vg#ttry9JJCyF)vsOQ0GG?((PwwXW3c4c6OeV zmUgX+J(il9N>EXQc|`Mku`ASz6IowhZ)#~tX>#CU=Mxm1n4Qfx#u$;#?`H~=y;b%N zU&PPP|Iu=0Y01aN#zs#s(xyN;r3offR#sLJ#Tr*P2W_3|%B!lXGRF99Z!Bx2@q}St zB_^(~t!0@?h1b}5dS1%|Js|NVtcw#p6ovEjoJ&hfgNFlL$g?WV zFDrxX7%01cpw%$L1YoYQ@wuVI=0tiNP|De}XIE$Y4!qFp;FC>CdHGU7b?*M$zYdpWi@`WKx5wu+hz%L=x%NjT<*iP5DShqJn~< zHFlRTUmgft+1lEgnRP8s zbzhOVuB-dR81uMx$W#hws4Z-hDMe5xKRS#XS|uD9m&NJ@ijL$mr7NI z@${SPhY5Hb5pmbivB6$JMR=CMxFi-o>ZOYPjxWN7!3w)}<+d?=;7wr_#CbX7iM^lP znZvN99)0Hnma?$u|Ehw@4J81e`}+D|RYL#3$--RYfBxu-^O|q`iZo0!$=ahtlaqxK4Gs$lmAyQrp`ihr z+FR;5@cG`z;&{s;US8l6z$rx2;^HFEsL4lv2pQ8d1reJAx z6>fM5bjsFRk!4=&vu8p_k8WBSzcV={%vC_4B+%_aZH3poF_d6u86Fu)NKKs`9Q-me z56=tgG?W80A2a_VtW9TUXF@{4RkB8jg$&%Xg^i7ev-35nM8pGMU;ZeZl9G}X9}?d8 zOSg=i+;z+=(gnY-c7^lv_bP2{ZETwD6{aR9*;$y#Eif+19>24)vUrdYfC{?lXOxu% zSePmSC~x21hla}r$?DjWdP$sDO(YJBUJ9s$H%>}24+uEVhdd@C(&eNG)4|EfnMa`j zMIDN!;l$>F8Q?IcutCsS4Gj%|bY>J-r2E0aJDwL0M&a;9Dj;5~a<(yuC9_ zvI`32up%NNsmaNfpdV~)$smD&1Qiq%3N2)WVs?h3ss#av(c z_~0PG?Nb~ch&(7roh$N=0ui>8C(l$0S_eCso_7;!EknR`hqV4i35}0-0TsdrmV~sULz$f zt+~B){q4WrD#GVUaP1(2e)abDxP3ClY|Yn+UPQM#l7m5~F3rp1oLGWA zw2(2&Z13sm0i^#kItp;j!gS5XCV1`dP*;~3Xy%=rU1{MHcC8Sti+ogwOioE>2E}Ff7a= zFlf6=iHfl7nKOH%3WvqU#`>JUC6TbcxoHkZ&eH_I+yGl4diwi=+uvUSE(ZfH;6;rUci& z8YvpAZ(v{|l~`L_d;Iuu;BseY=X2-I0j2=vHZ(Wykzb+#nn&&73W|kE9lTu>uHGKz zp4ZlP;7W=Tym11Z@5m9=vuEK6nb)#zmHQs%;{(ocDX|oZtHT$)GjVotak+AZGYVHm z7}5fbxv=oTra)9gBzR{_m7OIgH}_*{DVapt9*NVesHgz$e4UiU$*K+Q2Bqijo>y90 zO2g9|8!LPmys#W(vZ$~yii0EGAj3_m9G(Wquzaqnfll8yy$nLm-F?RP-2Mq~9`@1J zG;P2SB_)1jME%&pRCfV*CnW`i4;0GOFfDp}dwXYRM@2Z+P~yV*^9%lJf~b|hL$v^; zE6dB!?KZ|zMn=ZO#KhqNU}aFKm6h9V>3Vr)pr#)I<>ACmNl8skPoucGLl*xuf%ki$ zmRen{31)*g3T|d(WCXO^-Me>TF{Y-bfJNT6Iq^rIl#+4*VTafwe~03*n!yu#u^_tN zym>P=c9&?lGF4Fh>C-2GaHs-WxwO0t#v6p+$OtoQ_yaW&K4j3s=p|5$Z;4uIpxU57 zVDjqDS7Bjc!^6Yt>kmNPgITGsuZQ_RiefFXoMA9j)zpOf`TtB$%f#z%Y;NY6NvAZ; z&dgjfFv!WvYie#b!|(E9ekKYymc_fm$rlzKX!oTedJNf@|ZcyI8e?L7v z-JGg^fGO;=_3TV<>G=3K2aA@!zdt||flz2uz@`YE6$~I)OrqiUAp#cN`h@c+D;pay znvjst3Mk*gLU~0+mfU@h9zBwfkZ5!`EAJjG?+FV8n*ox&zh4B!`taey#r3VzR-YQ1 znm|;_$jX*csYhaTW%$9=0c)UGi!EflsA}Tk_Fi5l7{1wGC6w%JMv78 zhtvmh8erNzAsBO18IC`IjL3fxum29B6Fy{#Wu7>1RLeL-B`}kqx1|#el$DjikWWq` z#oq#O)9pb9?6;}JqJK0tx;Z(mt@L{KxcLSIlr=dp|7bnD2)%)>fGG6x@^W)?gX;!- ztKM3;?B}-%-vJUZh1n?z>FMcR!n>wzgvU{nPTA3mp|Vqs?HJN%6Uj+~x$qjVxo%iG$n2?!*ebM0z%`Uo*m zd3iaIG1Xc_Rka74p`|7A1v3*9LLoxyh_LV|K?TML07psbQ+oQy&h{p#o5_iZ|4Kc{ z5GE}xK^(vo20=+gWaQ@Bnp*IdV2m!*&|v?eAxRFB7Qg^d3lLD85qw^~{tEDvgXIxa z!Ws^CHQ%+^rWsguha;9ipCY`IV$os%vT)PKKZ=Hy4F2$UOnprfFmzZX(MRu)yuwwRn?k!^@X9$C7LjbG@yt zUxo-Uyr7*x8JJ`P)5F{xJ9Z4NAfOTq#%i5t2#aE|MJ`Bd7bFnwoal z5{D-yFbQ<)TesTV+e0=Ok|7}>MHZ;=noz&;+qJCXyr=l1GfbTA>;{*XKI)4rhcn%bui_0WPvI(D!r6onsP0r51#gGm_41kQ# z$}@vt=oxL8!C*{GIKfuBcFW2OPDB0yNIg9KsCEdJ7@{Oi4Gpdrq<{Y5L+Cq+vPpFxI+L;{DK4#4j}BoeUb6^TRf`r-+6X?r`Tt=>gq zO3HPqM0jv6E-rh8n`y=X1(0t-cLY%&X88E|yTF(YehK^a%M!L3Je=LF7YPa4>20AD z3JnV&vu*i`kJ$-$ZA-g-1 zlP+-7{i!aXF+j(ytw7kP^fo~O0l%^O!@NoWJDs3JZ*aet@2?m8i=>(>-Df6K>HO+M8Spk+y zk8)q6H#FRl7yMFsAlnoSh1JcQjKRUT-Bb6^lME%ieSMqj>vOWRYewc3g&?g7hNR;Q zTQcy7-R*tW(_kH!1A=bcIE;lT86Bg0R%kELB@u~Hv9bBNxhzjg!FUmgNA&dSfKecF zCT;lhR9j*iFwZ!v!~ zBvj^n|3z{7|0{##8c%4}?GH2fK0RUqWa$qzkl;4{9Ip&{ZH7k`(R=kDg# zh%aK29|E_=9}SV) z7d!bc9XqEnfD5eQ`@*m<==M=K$Z|$zXRGeiaRDrjjb*es?R~y+yY|WCeSp z4KkQmmuLIRg<>3Z79%A(+S|{90aPF=x&MOT9pXmdND$FawbFuj*2f|I1P+9h7_R5b z7pz^pBySW1`A}b$8O2%A($KK++c)?gCHvy6F&UlHa@$O`nQQj~e3dTlB91GuhAyH`_rYgnh)X&~xO^?UNB;wUvE)Di diff --git a/grid_ori_0.png b/grid_ori_0.png deleted file mode 100644 index 497e4973b884cac667db79f054fb183d2a96819e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1219 zcmV;!1U&nRP)AVGoz2@>Rw zVrFK>>-APwR|i_y*4E~5I9@+ua&l6sRDOrs-vNiiF&d2kfb;Y7fC`(Mn!uOXY___( zy6t9Qd{0>{R(W~(;Nal% z^Yg^S1a5mo_zPcIYHI5C_BNGDeSCZ@Dk@rATf<&Ur_*0vUS3~cKYSV;9lg4`DiVpN zrlu+?DzFIh`Fx2)l97?|S%Z*}5V>5AAV_z2cW-YmcB_GrnVAWPy4h?dQI^eSZ)|J; z0PJ>qPEHQSs*#Zq&l>;$k00-T9v&WI5yUfnI2=xYe?Po78jUyhl9uC z<>lqY#l}`UcR}xiBYGqv9YtW6J94JB?$xq9*<|WTIqCpWMt&o+1bj< zidZbx>2$cQ{yQ@>GjN#b_4=@|FdPbng@p!#;p*zjY&IVq9a$_E|An@`zMgc?5{bm) z@jN^{2!%q@#Su1}y}!Q?-4_=Z;}f~NyZd7I+1c62&(9~m0m4%`x z002eN($Z4gI$SPS{6=D8qVK*?D3r-$zQ}fWcgb*#Aa5fD<3bw%QBhG#OH0u1?CdPb z>VAZVhDxQ<>+5Tm%eB0`92*;pLxe`7<>lq|^z?Lhcel53)J(EVkKf005Org|TE{U|@K7xS*gwtJSWruYa~fqbMp62uQFP z5fO26a`Jt2w~C zXMTQOC=~wq@q+|&;o;$ni;FOkwY4?>Q+c4&*4DPPv~amxERC5==KcLW0N~)@0C$fN zxX?~dPZQMnh3^&a>FFswJsr1>TrPLJ-2i~&`1N+Ae>EG#Ve&JHOl zDFoG;nwoBJZ{eEf3wmg1C@n1wrV|zx#$vHpELK870!#z|(AwHcuwNJo03bIvm!K3v zqtUEZD|Dt%D2U3vp-?Es#>P+-g|o@G&8t+Zv$L~z2i&QtDdIgc7>v`?Q*uISXlQ`W z_V)JJY&LOo@2IJ%866#UI-UMwhx9}sCX>nQ^-85uqC)BE>F@|k;xPG;s;VlDM&lpH z+}s@TS>q3!jAU*={{svL1IAGP{ta&aBlPw4Aqc`|vuQNi*DdjXqy6L1>-E#q)0dZ* hpM41p5+n$5egYD7Ldw>)hDQJZ002ovPDHLkV1kjyQ?md7 From 9b5e0e36acbec74092be0de287aed761ac315ff3 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 2 Nov 2021 15:05:25 +0530 Subject: [PATCH 3/8] Update docs/source/starter/lightning_lite.rst --- docs/source/starter/lightning_lite.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/starter/lightning_lite.rst b/docs/source/starter/lightning_lite.rst index 906a5aae3aa96..4e7a2892197b0 100644 --- a/docs/source/starter/lightning_lite.rst +++ b/docs/source/starter/lightning_lite.rst @@ -7,7 +7,7 @@ LightningLite - Stepping Stone to Lightning on any kind of device while retaining full control over their own loops and optimization logic. .. image:: https://pl-public-data.s3.amazonaws.com/docs/static/images/lite/lightning_lite.gif - :alt: Animation showing how to your PyTorch code to convert to LightningLite. + :alt: Animation showing how to convert your PyTorch code to LightningLite. :width: 400 :align: center From 5b07e4b8172701b231e013eaab757043c3eb59bb Mon Sep 17 00:00:00 2001 From: Thomas Chaton Date: Tue, 2 Nov 2021 06:14:09 -0400 Subject: [PATCH 4/8] update --- pl_examples/run_examples.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/pl_examples/run_examples.sh b/pl_examples/run_examples.sh index 979ff40dfed74..4a15c3367d35f 100755 --- a/pl_examples/run_examples.sh +++ b/pl_examples/run_examples.sh @@ -10,7 +10,6 @@ args=" --trainer.limit_test_batches=2 --trainer.limit_predict_batches=2 --optimizer=Adam - --lr_scheduler=ConstantLR " python "${dir_path}/basic_examples/backbone_image_classifier.py" ${args} "$@" @@ -31,7 +30,6 @@ args=" --trainer.limit_test_batches=2 --trainer.limit_predict_batches=2 --optimizer=Adam - --lr_scheduler=ConstantLR " python "${dir_path}/basic_examples/mnist_examples/image_classifier_4_lightning_module.py" ${args} "$@" From 689de6ad4f2bdbfd53a4a2ff338dad03fb0cda85 Mon Sep 17 00:00:00 2001 From: Thomas Chaton Date: Tue, 2 Nov 2021 06:16:22 -0400 Subject: [PATCH 5/8] update --- docs/source/starter/lightning_lite.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/starter/lightning_lite.rst b/docs/source/starter/lightning_lite.rst index 4e7a2892197b0..38d731ef361eb 100644 --- a/docs/source/starter/lightning_lite.rst +++ b/docs/source/starter/lightning_lite.rst @@ -8,7 +8,7 @@ on any kind of device while retaining full control over their own loops and opti .. image:: https://pl-public-data.s3.amazonaws.com/docs/static/images/lite/lightning_lite.gif :alt: Animation showing how to convert your PyTorch code to LightningLite. - :width: 400 + :width: 500 :align: center From 78e38b0e2ad8e6487c6d9133229304f09a16ab15 Mon Sep 17 00:00:00 2001 From: Thomas Chaton Date: Tue, 2 Nov 2021 06:18:35 -0400 Subject: [PATCH 6/8] typo --- pl_examples/basic_examples/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pl_examples/basic_examples/README.md b/pl_examples/basic_examples/README.md index 59559cf3b89e9..90217359c77bc 100644 --- a/pl_examples/basic_examples/README.md +++ b/pl_examples/basic_examples/README.md @@ -110,7 +110,7 @@ ______________________________________________________________________ #### PyTorch Profiler -This script shows you to activate the [PyTorch Profiler](https://github.com/pytorch/kineto) with Lightning. +This script shows you how to activate the [PyTorch Profiler](https://github.com/pytorch/kineto) with Lightning. ```bash python profiler_example.py From 0480f6dc5f3003235a8441c9def81c259f8cee37 Mon Sep 17 00:00:00 2001 From: Thomas Chaton Date: Tue, 2 Nov 2021 06:21:22 -0400 Subject: [PATCH 7/8] update --- pl_examples/basic_examples/README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pl_examples/basic_examples/README.md b/pl_examples/basic_examples/README.md index 90217359c77bc..e4133df93b4ac 100644 --- a/pl_examples/basic_examples/README.md +++ b/pl_examples/basic_examples/README.md @@ -74,7 +74,7 @@ ______________________________________________________________________ #### AutoEncoder -This script shows you to implement an CNN auto-encoder. +This script shows you how to implement a CNN auto-encoder. ```bash # CPU @@ -91,9 +91,8 @@ ______________________________________________________________________ #### Backbone Image Classifier -This script shows you to implement a `LightningModule` as a `System`. -A System describes a `LightningModule` which takes a single a `torch.nn.Module` which makes -exporting to producion simpler. +This script shows you how to implement a `LightningModule` as a system. +A system describes a `LightningModule` which takes a single `torch.nn.Module` which makes exporting to producion simpler. ```bash # CPU From f938ae25447d52ae42b6635d0a1f597b7e475edf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20W=C3=A4lchli?= Date: Tue, 2 Nov 2021 12:43:19 +0100 Subject: [PATCH 8/8] use ddp instead of dp torchmetrics not running with dp run only ddp --- .azure-pipelines/gpu-tests.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.azure-pipelines/gpu-tests.yml b/.azure-pipelines/gpu-tests.yml index 874a9ab0f4884..f1af36a6090b9 100644 --- a/.azure-pipelines/gpu-tests.yml +++ b/.azure-pipelines/gpu-tests.yml @@ -108,8 +108,6 @@ jobs: bash pl_examples/run_examples.sh --trainer.gpus=1 bash pl_examples/run_examples.sh --trainer.gpus=2 --trainer.strategy=ddp bash pl_examples/run_examples.sh --trainer.gpus=2 --trainer.strategy=ddp --trainer.precision=16 - bash pl_examples/run_examples.sh --trainer.gpus=2 --trainer.strategy=dp - bash pl_examples/run_examples.sh --trainer.gpus=2 --trainer.strategy=dp --trainer.precision=16 env: PL_USE_MOCKED_MNIST: "1" displayName: 'Testing: examples'