/ml-smokedetect

Primary LanguageJupyter Notebook

ml-smokedetect

Deep learning trainning environment for smoke detection model

Run trainning jupyter notebook and save model

There are two options to train the smoke detection neural network. The first one is to run the jupyter notebook on a Kubernetes cluster (for us it is temporarily going to be Nautilus). The second option is to run it locally assuming that there is a GPU availabe on the local node (the docker image might fail but Tensorflow will not).

Training on a Kubernetes Cluster (Nautilus):

cd training/

Create a persistent volume claim on Nautilus under the Sage namespace (not needed now since it exists):

kubectl create -f training.pvc.yaml

Create a deployment on kubernetes:

kubectl create -f training.deployment.yaml

Attach to a pod and run bash:

kubectl exec -it POD-NAME bash

Run jupyter notebook on pod:

jupyter notebook -—ip=0.0.0.0 -—port=9000

Port forward from pod to local node:

kubectl port-forward POD-NAME 9000:9000

Access the notebook through your desktops browser on http://localhost:9000

Training on a local node(if no kubernetes cluster is available):

If there is no kubernetes cluster available for the user, there is a docker file that can be used to run on a local node (assuming that there is a GPU available).

Build docker image:

docker build -t iperezx/training-smokedetect:0.1.0 .

Run docker image:

docker run -it -p 9000:9000 iperezx/training-smokedetect:0.1.0

Attach to container and run jupyter notebook:

docker attach iperezx/training-smokedetect:0.1.0
jupyter notebook --ip 0.0.0.0 --port 9000 --no-browser --allow-root

Access the notebook through your desktops browser on http://localhost:9000