.PHONY: help VENV_NAME?=env PYTHON=${VENV_NAME}/bin/python3 LINT_FILES=linear_regression.py \ lenet5.py \ vgg16_prepare_train_model.py \ vgg16_test_model.py \ yolov3.py .DEFAULT: help help: @echo "make linear_regression" @echo " runs a linear regression example" @echo "make lenet5" @echo " runs a LeNet-5 character recognition example" @echo "make vgg16" @echo " runs a VGG16 object detection example" @echo "make yolov3" @echo " runs the YOLO v3 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" @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 sklearn touch $(VENV_NAME)/bin/activate linear_regression: env ${PYTHON} linear_regression.py lenet5: env ${PYTHON} lenet5.py vgg16_training: fine_tune.h5 fine_tune.h5: ${PYTHON} vgg16_prepare_train_model.py vgg16: env data vgg16_training ${PYTHON} vgg16_test_model.py yolov3: env data ${PYTHON} yolov3.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 yolov3.h5 rm -rf lenet5.h5 rm -rf .mypy_cache rm -rf *.gz