# Notebooks

| Notebook     |      Description      | |
|:----------|:-------------|:-------------|
| [Introduction to Optimum Graphcore](introduction_to_optimum_graphcore.ipynb) |  Introduce Optimum-Graphcore with a BERT fine-tuning example. | [![Gradient](images/gradient-badge.svg)](https://ipu.dev/3CExwVy) |
| [Sentiment analysis with pipelines](sentiment_analysis.ipynb) |  Use the sentiment-analysis pipeline to quickly evaluate pre-trained models on the IPU. | [![Gradient](images/gradient-badge.svg)](https://ipu.dev/3X5wL0a) |
| [Real Time Name Entity Recognition on the IPU](name-entity-extraction.ipynb)| Use Gradio and pipelines to prototype a web application doing fast token classification. | [![Gradient](images/gradient-badge.svg)](https://ipu.dev/3XgZ7V2) |
| [Train an external model](external_model.ipynb) | Show how to train an external model that is not supported by Optimum or Transformers. | [![Gradient](images/gradient-badge.svg)](https://ipu.dev/3xwTmHM) |
| [Train your language model](language_modelling_from_scratch.ipynb) | Show how to train a model for causal or masked language modelling from scratch. | [![Gradient](images/gradient-badge.svg)](https://ipu.dev/414XiNp) |
| [How to fine-tune a model on text classification](text_classification.ipynb) | Show how to preprocess the data and fine-tune a pre-trained model on any GLUE task. | [![Gradient](images/gradient-badge.svg)](https://ipu.dev/3XDBUvQ) |
| [How to fine-tune a model on language modeling](language_modeling.ipynb)| Show how to preprocess the data and fine-tune a pre-trained model on a causal or masked LM task. | Coming soon on Gradient |
| [How to fine-tune a model on token classification](token_classification.ipynb) | Show how to preprocess the data and fine-tune a pre-trained model on a token classification task (NER, PoS). | [![Gradient](images/gradient-badge.svg)](https://ipu.dev/3YCsqT1) |
| [How to fine-tune a model on question answering](question_answering.ipynb)| Show how to preprocess the data and fine-tune a pre-trained model on SQUAD. | [![Gradient](images/gradient-badge.svg)](https://ipu.dev/3IutIto) |
| [How to fine-tune a model on multiple choice](multiple_choice.ipynb)| Show how to preprocess the data and fine-tune a pre-trained model on SWAG. | [![Gradient](images/gradient-badge.svg)](https://ipu.dev/3lI3fzQ) |
| [How to fine-tune a model on translation](translation.ipynb) | Show how to preprocess the data and fine-tune a pre-trained model on WMT. | [![Gradient](images/gradient-badge.svg)](https://ipu.dev/3XbkoQk) |
| [How to fine-tune a model on summarization](summarization.ipynb) | Show how to preprocess the data and fine-tune a pre-trained model on XSUM. | [![Gradient](images/gradient-badge.svg)](https://ipu.dev/3Ky3VCj) |
| [How to fine-tune a model on audio classification](audio_classification.ipynb)| Show how to preprocess the data and fine-tune a pre-trained Speech model on Keyword Spotting | Coming soon on Gradient |
| [How to fine-tune a model on image classification](image_classification.ipynb) |  Show how to preprocess the data and fine-tune a pre-trained model on image classification. | [![Gradient](images/gradient-badge.svg)](https://ipu.dev/3QxTCyU) |
| [wav2vec 2.0 Fine-Tuning on IPU](wav2vec2/wav2vec2-fine-tuning-checkpoint.ipynb) |  How to fine-tune a pre-trained wav2vec 2.0 model with PyTorch on the Graphcore IPU-POD16 system.| [![Gradient](images/gradient-badge.svg)](https://ipu.dev/3CGkbMq) |
| [wav2vec 2.0 Inference on IPU](wav2vec2/wav2vec2-inference-checkpoint.ipynb) |  How to run inference on the wav2vec 2.0 model with PyTorch on the Graphcore IPU-POD16 system.| [![Gradient](images/gradient-badge.svg)](https://ipu.dev/3CHite5) |
[Stable Diffusion Text-to-Image generation](stable_diffusion/text_to_image.ipynb) | Run a Stable Diffusion (Conditional UNet) pipeline on the text-to-image generation task. | [![Gradient](images/gradient-badge.svg)](https://ipu.dev/3iyhJkk) |
[Stable Diffusion Image-to-Image generation](stable_diffusion/image_to_image.ipynb) | Run a Stable Diffusion (Conditional UNet) pipeline on the image-to-image generation task. | [![Gradient](images/gradient-badge.svg)](https://ipu.dev/3k8znM2) |
[Stable Diffusion Inpainting](stable_diffusion/inpainting.ipynb) | Run a Stable Diffusion (Conditional UNet) pipeline on the inpainting task. | [![Gradient](images/gradient-badge.svg)](https://ipu.dev/3W56b5R) |
[Stable Diffusion 2 Text-to-Image generation](stable_diffusion/text_to_image_sd2.ipynb) | Run a Stable Diffusion 2 (Conditional UNet) pipeline on the text-to-image generation task. | [![Gradient](images/gradient-badge.svg)](https://ipu.dev/3X3IMDh) |
[Fine-tuning BERT with packing for text classification](packed_bert/packedBERT_single_label_text_classification.ipynb) | How to speed up fine-tuning and run inference on pre-trained BERT for single-label sequence classification with packing. | Coming soon on Gradient |
[Fine-tuning BERT with packing for multi-label text classification](packed_bert/packedBERT_multi_label_text_classification.ipynb) | How to speed up fine-tuning and run inference on pre-trained BERT for multi-label sequence classification with packing. | Coming soon on Gradient |
[Fine-tuning BERT with packing for question answering](packed_bert/packedBERT_question_answering.ipynb) | How to speed up fine-tuning and run inference on pre-trained BERT for question answering with packing. | Coming soon on Gradient |
[Text Summarization on IPUs using BART-L - Inference](bart/notebook_text_summarization.ipynb) | Summarize text with the BART-L Hugging Face Optimum model. | Coming soon on Gradient |
