-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
97 lines (62 loc) · 2.53 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# path of the file to upload to gcp (the path of the file should be absolute or should match the directory where the make command is run)
LOCAL_PATH=PATH_TO_FILE_train_1k.csv
# project id
PROJECT_ID=calm-magpie-310312
# bucket name
BUCKET_NAME=wagon-data-618-voortman
# bucket directory in which to store the uploaded file (we choose to name this data as a convention)
BUCKET_FOLDER=data
# name for the uploaded file inside the bucket folder (here we choose to keep the name of the uploaded file)
# BUCKET_FILE_NAME=another_file_name_if_I_so_desire.csv
BUCKET_FILE_NAME=$(shell basename ${LOCAL_PATH})
REGION=europe-west1
set_project:
-@gcloud config set project ${PROJECT_ID}
create_bucket:
-@gsutil mb -l ${REGION} -p ${PROJECT_ID} gs://${BUCKET_NAME}
upload_data:
-@gsutil cp ${LOCAL_PATH} gs://${BUCKET_NAME}/${BUCKET_FOLDER}/${BUCKET_FILE_NAME}
### GCP configuration - - - - - - - - - - - - - - - - - - -
# /!\ you should fill these according to your account
### GCP Project - - - - - - - - - - - - - - - - - - - - - -
# not required here
### GCP Storage - - - - - - - - - - - - - - - - - - - - - -
# BUCKET_NAME=XXX
##### Data - - - - - - - - - - - - - - - - - - - - - - - -
# not required here
##### Training - - - - - - - - - - - - - - - - - - - - - -
# will store the packages uploaded to GCP for the training
BUCKET_TRAINING_FOLDER = 'trainings'
##### Model - - - - - - - - - - - - - - - - - - - - - - - -
# not required here
### GCP AI Platform - - - - - - - - - - - - - - - - - - - -
##### Machine configuration - - - - - - - - - - - - - - - -
# REGION=europe-west1
PYTHON_VERSION=3.7
FRAMEWORK=scikit-learn
RUNTIME_VERSION=2.2
##### Package params - - - - - - - - - - - - - - - - - - -
PACKAGE_NAME=TaxiFareModel
FILENAME=trainer
##### Job - - - - - - - - - - - - - - - - - - - - - - - - -
JOB_NAME=taxi_fare_training_pipeline_$(shell date +'%Y%m%d_%H%M%S')
run_locally:
@python -m ${PACKAGE_NAME}.${FILENAME}
gcp_submit_training:
gcloud ai-platform jobs submit training ${JOB_NAME} \
--job-dir gs://${BUCKET_NAME}/${BUCKET_TRAINING_FOLDER} \
--package-path ${PACKAGE_NAME} \
--module-name ${PACKAGE_NAME}.${FILENAME} \
--python-version=${PYTHON_VERSION} \
--runtime-version=${RUNTIME_VERSION} \
--region ${REGION} \
--stream-logs
clean:
@rm -f */version.txt
@rm -f .coverage
@rm -fr */__pycache__ __pycache__
@rm -fr build dist *.dist-info *.egg-info
@rm -fr */*.pyc
##### Prediction API - - - - - - - - - - - - - - - - - - - - - - - - -
run_api:
uvicorn api.fast:app --reload # load web server with code autoreload