126 строки
3.1 KiB
Makefile
126 строки
3.1 KiB
Makefile
.ONESHELL:
|
|
SHELL=/bin/bash
|
|
|
|
define PROJECT_HELP_MSG
|
|
Makefile for testing notebooks
|
|
Make sure you have edited the dev_env_template files and renamed it to .dev_env
|
|
All the variables loaded in this makefile must come from the .dev_env file
|
|
|
|
Usage:
|
|
make test run all notebooks
|
|
make clean delete env and remove files
|
|
endef
|
|
export PROJECT_HELP_MSG
|
|
env_location=.dev_env
|
|
PWD:=$(shell pwd)
|
|
include ${env_location}
|
|
|
|
|
|
help:
|
|
echo "$$PROJECT_HELP_MSG" | less
|
|
|
|
|
|
test: setup test-notebook1 test-notebook2 test-notebook3 test-notebook4 test-notebook5 test-notebook6
|
|
@echo All Notebooks Passed
|
|
|
|
setup:
|
|
conda env create -f environment.yml
|
|
ifndef TENANT_ID
|
|
@echo starting interactive login
|
|
az login -o table
|
|
else
|
|
@echo using service principal login
|
|
az login -t ${TENANT_ID} --service-principal -u ${SP_USERNAME} --password ${SP_PASSWORD}
|
|
endif
|
|
|
|
|
|
test-notebook1:
|
|
source activate deployment_env
|
|
@echo Testing 01_AzureSetup.ipynb
|
|
papermill 01_AzureSetup.ipynb out_01_AzureSetup.ipynb \
|
|
--log-output \
|
|
--no-progress-bar \
|
|
-k python3 \
|
|
-p subscription_id ${SUBSCRIPTION_ID} \
|
|
-p resource_group ${RESOURCE_GROUP} \
|
|
-p resource_region ${RESOURCE_REGION} \
|
|
-p iot_hub_name ${IOT_HUB_NAME} \
|
|
-p device_id ${DEVICE_ID} \
|
|
-p acr_name ${ACR_NAME}
|
|
|
|
test-notebook2:
|
|
source activate deployment_env
|
|
@echo 02_IoTEdgeConfig.ipynb
|
|
papermill 02_IoTEdgeConfig.ipynb out_02_IoTEdgeConfig.ipynb \
|
|
--log-output \
|
|
--no-progress-bar \
|
|
-k python3
|
|
|
|
test-notebook3:
|
|
source activate deployment_env
|
|
@echo 03_BuildRegisterImage.ipynb
|
|
papermill 03_BuildRegisterImage.ipynb out_03_BuildRegisterImage.ipynb \
|
|
--log-output \
|
|
--no-progress-bar \
|
|
-k python3 \
|
|
-p image1_name ${IMAGE1_NAME} \
|
|
-p image2_name ${IMAGE2_NAME}
|
|
|
|
test-notebook4:
|
|
source activate deployment_env
|
|
@echo Testing 04_DeployOnIOTedge.ipynb
|
|
papermill 04_DeployOnIOTedge.ipynb out_04_DeployOnIOTedge.ipynb \
|
|
--log-output \
|
|
--no-progress-bar \
|
|
-k python3 \
|
|
-p module1_name ${MODULE1_NAME} \
|
|
-p module2_name ${MODULE2_NAME}
|
|
|
|
test-notebook5:
|
|
source activate deployment_env
|
|
@echo 05_TestPeopleDetectionModule.ipynb
|
|
papermill 05_TestPeopleDetectionModule.ipynb out_05_TestPeopleDetectionModule.ipynb \
|
|
--log-output \
|
|
--no-progress-bar \
|
|
-k python3
|
|
|
|
test-notebook6:
|
|
source activate deployment_env
|
|
@echo 06_TearDown.ipynb
|
|
papermill 06_TearDown.ipynb out_06_TearDown.ipynb \
|
|
--log-output \
|
|
--no-progress-bar \
|
|
-k python3
|
|
|
|
|
|
test-notebook-debug1:
|
|
source activate deployment_env
|
|
@echo debug_01_DeployPeopleDetectionModuleIOTedge.ipynb
|
|
export PYTHONPATH=${PWD}:${PYTHONPATH}
|
|
cd debug
|
|
papermill debug_01_DeployPeopleDetectionModuleIOTedge.ipynb out_debug_01_DeployPeopleDetectionModuleIOTedge.ipynb \
|
|
--log-output \
|
|
--no-progress-bar \
|
|
-k python3 \
|
|
-p module2_name ${MODULE2_NAME}
|
|
|
|
remove-notebook:
|
|
rm -f out*.ipynb
|
|
|
|
clean: remove-notebook
|
|
conda remove --name deployment_aml -y --all
|
|
rm -rf aml_config
|
|
rm -rf __pycache__
|
|
rm -rf .ipynb_checkpoints
|
|
rm *.jpg
|
|
rm -rf azureml-models
|
|
rm driver.py img_env.yml model_resnet_weights.h5
|
|
|
|
notebook:
|
|
source activate deployment_env
|
|
jupyter notebook --ip=0.0.0.0 --no-browser
|
|
|
|
|
|
|
|
|