-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
47 lines (36 loc) · 2.45 KB
/
Copy pathMakefile
File metadata and controls
47 lines (36 loc) · 2.45 KB
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
# ghost-fleet -- FTI on Hopsworks: shadow-fleet exposure from behaviour, Baltic + Laconian
# Feature (AIS + GFW + sanctions FGs) -> Training (GBM deception score + network) -> Inference (KServe + oceanic app)
FEAT_ENV = python-feature-pipeline
COLLECT_ENV = ghost-collect-env
TRAIN_ENV = pandas-training-pipeline
envs: ## clone the collector env (feature-pipeline base + websockets)
python3 tools/build_envs.py
sanctions-job: ## deploy + schedule the sanctions label refresh (daily)
hops job deploy fleet-sanctions pipelines/sanctions_pipeline.py --env $(FEAT_ENV) --overwrite
python3 tools/schedule.py fleet-sanctions "0 30 4 ? * *" --run
collect-job: ## deploy + schedule the live AIS collector (hourly, 45-min window)
hops job deploy fleet-collect pipelines/ais_pipeline.py --env $(COLLECT_ENV) --overwrite
python3 tools/schedule.py fleet-collect "0 0 0/1 ? * *" --run
gfw-job: ## deploy + schedule GFW identity + events pull (hourly)
hops job deploy fleet-gfw pipelines/gfw_pipeline.py --env $(FEAT_ENV) --overwrite
python3 tools/schedule.py fleet-gfw "0 20 0/1 ? * *" --run
features-job: ## deploy + schedule the vessel behaviour features (every 30 min)
hops job deploy fleet-features pipelines/features_pipeline.py --env $(FEAT_ENV) --overwrite
python3 tools/schedule.py fleet-features "0 0/30 * ? * *" --run
train-job: ## deploy + schedule the shadow_vessel retrain (daily; every run registered, serve best by lift)
hops job deploy fleet-train pipelines/train.py --env $(TRAIN_ENV) --overwrite
python3 tools/schedule.py fleet-train "0 40 2 ? * *"
network-job: ## deploy + schedule the shadow-fleet network graph builder (hourly)
hops job deploy fleet-network pipelines/network_pipeline.py --env $(TRAIN_ENV) --overwrite
python3 tools/schedule.py fleet-network "0 50 0/1 ? * *" --run
serve: ## deploy the shadowscorer KServe deployment (after train)
python3 serving/deploy_serving.py
app: ## deploy the ghostfleet oceanic app
python3 app/deploy_app.py
smoke-sanctions: ## run the sanctions harvest from the terminal pod
python3 pipelines/sanctions_pipeline.py
smoke-collect: ## 2-min live AIS collect from the terminal pod
RUN_MINUTES=2 python3 pipelines/ais_pipeline.py
help:
@grep -E '^[a-z-]+:.*##' $(MAKEFILE_LIST) | sed 's/:.*##/ --/'
.PHONY: envs sanctions-job collect-job gfw-job features-job train-job network-job serve app smoke-sanctions smoke-collect help