Files
2020-10-23 20:44:22 +02:00

76 lines
1.8 KiB
Makefile

.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