76 lines
1.8 KiB
Makefile
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
|