lightning/docs/source-app/quickstart.rst

127 lines
3.5 KiB
ReStructuredText

:orphan:
.. _quick_start:
############
Quick Start
############
In this guide, we'll run an application that trains
an image classification model with the `MNIST Dataset <https://en.wikipedia.org/wiki/MNIST_database>`_,
and uses `Gradio <https://gradio.app>`_ to serve it.
----
**********************
Step 1 - Installation
**********************
First, you'll need to install Lightning. You can find the complete guide here.
Then, you'll need to install the `Lightning Quick Start package <https://github.com/Lightning-AI/lightning-quick-start>`_.
.. code-block:: bash
lightning install app lightning/quick-start
And download the training script used by the App:
----
**********************
Step 2 - Run the app
**********************
To run your app, copy the following command to your local terminal:
.. code-block:: bash
lightning run app app.py
And that's it!
.. admonition:: You should see the app logs in your terminal.
:class: dropdown
.. code-block:: console
Your Lightning App is starting. This won't take long.
INFO: Your app has started. View it in your browser: http://127.0.0.1:7501/view
Global seed set to 42
GPU available: True (mps), used: False
TPU available: False, using: 0 TPU cores
IPU available: False, using: 0 IPUs
| Name | Type | Params | In sizes | Out sizes
------------------------------------------------------------------
0 | model | Net | 1.2 M | [1, 1, 28, 28] | [1, 10]
1 | val_acc | Accuracy | 0 | ? | ?
------------------------------------------------------------------
1.2 M Trainable params
0 Non-trainable params
1.2 M Total params
Epoch 4: 100%|█████████████████████████| 16/16 [00:00<00:00, 32.31it/s, loss=0.0826, v_num=0]
`Trainer.fit` stopped: `max_epochs=5` reached.
Running on local URL: http://127.0.0.1:62782/
...
The app will open your browser and show an interactive demo:
.. figure:: https://pl-public-data.s3.amazonaws.com/assets_lightning/qiuck-start-tensorboard-tab.png
:alt: Quick Start UI - Model Training Tab
:width: 100 %
.. figure:: https://pl-public-data.s3.amazonaws.com/assets_lightning/quick-start-gradio-tab.png
:alt: Quick Start UI - Interactive Demo Tab
:width: 100 %
----
This app behind the scenes
^^^^^^^^^^^^^^^^^^^^^^^^^^^
This application has one flow component which coordinates two works executing their own python script.
Once the training is finished, the trained model weights are passed to the serve component.
Here is how the components of a Lightning app are structured:
.. figure:: https://pl-public-data.s3.amazonaws.com/assets_lightning/quick_start_components.gif
:alt: Quick Start Application
:width: 100 %
Here is the application timeline:
.. figure:: https://pl-public-data.s3.amazonaws.com/assets_lightning/timeline.gif
:alt: Quick Start Timeline Application
:width: 100 %
----
**************************************
Steps 3 - Build your app in the cloud
**************************************
Simply add ``--cloud`` to run this application in the cloud 🤯
.. code-block:: bash
lightning run app app.py --cloud
Congratulations! You've now run your first application with Lightning.
----
***********
Next Steps
***********
To learn how to build and modify apps, go to the :ref:`basics`.
To learn how to create UIs for your apps, read :ref:`ui_and_frontends`.