Repository of OpenClassrooms' AI Engineer path, project #8
Goal : use Azure Machine Learning services, Computer Vision techniques and Deep Neural Network models, to perform urban street scene images segmentation.
You can see the results here :
- Deep neural Network models training
- Models : DeepLab v3+, U-Net with Xception backbone, FCN-8
- Loss function : Jaccard index
- Strategy : Early Stopping and Reduce Learning Rate On Plateau
- Models evaluation
- Metric : Mean Intersection over Union (IoU)
- Training time and cost : AzureML Experiment
- Image augmentation techniques
- Use Albumentations
- Handle a large dataset
- Implement a Data Generator
# python -m venv env
# > or just :
make venv
source env/bin/activate
# pip install jupyterlab ipykernel ipywidgets widgetsnbextension graphviz python-dotenv requests mlflow azureml-core azureml-defaults azureml-sdk azureml-dataset-runtime azureml-mlflow matplotlib numpy statsmodels pandas sklearn tensorflow pyspark opencv-python-headless albumentations Pillow
# > or :
# pip install -r requirements.txt
# > or just :
make install
- Set environment variable values in .env file.
- AzureML Workspace
- Azure App Service
Download, extract and upload to Azure Cityscape zip files.
make dataset
Deploy the content of webapp directory to Azure App Service.
- Main notebook
- AzureML notebooks :
# make isort
# make format
# make lint
# make bandit
# make mypy
# make test
# > or just :
make qa
- Fix Plotly issues with JupyterLab
jupyter labextension install jupyterlab-plotly
- If using Jupyter Notebook instead of JupyterLab, uncomment the following lines in the notebook
import plotly.io as pio
pio.renderers.default='notebook'