.PHONY: help VENV_NAME?=env PYTHON=${VENV_NAME}/bin/python3 LINT_FILES=linear_regression.py prepare_train_model.py test_model.py yolov3.py LINEAR_REGRESSION=linear_regression.py OBJECT_DETECTION=prepare_train_model.py test_model.py .DEFAULT: help help: @echo "make linear_regression" @echo " runs the simple linear regression example" @echo "make objct_detection" @ecgo " runs the object detection example" @echo "make env" @echo " creates and prepares the environment" @echo "make data" @echo " downloads and unpacks the data" @echo "make lint" @echo " runs pylint and mpy" @echo "make clean" @echo " cleans the development environment" data: images images: wget https://s3.us-east-2.amazonaws.com/naturalimages02/images.tar.gz tar -xzf images.tar.gz env: $(VENV_NAME)/bin/activate $(VENV_NAME)/bin/activate: test -d $(VENV_NAME) || python3 -m venv $(VENV_NAME) ${PYTHON} -m pip install -U pip ${PYTHON} -m pip install --upgrade tensorflow ${PYTHON} -m pip install keras ${PYTHON} -m pip install matplotlib ${PYTHON} -m pip install keras_vggface ${PYTHON} -m pip install pylint ${PYTHON} -m pip install mypy ${PYTHON} -m pip install pandas ${PYTHON} -m pip install opencv_python ${PYTHON} -m pip install scikit-image touch $(VENV_NAME)/bin/activate linear_regression: env ${PYTHON} $(LINEAR_REGRESSION) object_detection_training: fine_tune.h5 fine_tune.h5: ${PYTHON} prepare_train_model.py object_detection: env object_detection_training ${PYTHON} test_model.py lint: env ${PYTHON} -m pylint --rcfile=pylintrc $(LINT_FILES) clean: rm -rf $(VENV_NAME) rm -f data.csv rm -rf images rm -f images.tar.gz rm -f fine_tune.h5 rm -rf .mypy_cache