-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
103 lines (78 loc) · 2.32 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
98
99
100
101
102
103
SHELL := /usr/bin/zsh
include sample-config.Makefile
CONFIG-MK := config.Makefile
$(info Including config: $(CONFIG-MK))
include ${CONFIG-MK}
conda-env-name = $(or ${CONDA_ENV},$(shell \
cat ${CONDA_YML} \
| sed '/^name/!d' \
| awk -F ': ' '{print $$2}' \
))
conda-activate = source ${CONDA_ROOT}/bin/activate ${1}
conda-activate-base = $(call conda-activate,base)
conda-activate-env = $(call conda-activate,$(conda-env-name))
base-conda = $(conda-activate-base) ; conda
conda = $(conda-activate-env); conda
python = $(conda-activate-env); python
has-env = $(shell \
$(base-conda) env list \
| grep $(conda-env-name) \
|| echo \
)
tkey = $(and $(has-env), $(shell \
$(python) -m get_tkey \
--perplexity ${PERPLEXITY} \
--num-neighbours ${NUM_NEIGHBOURS} \
--learning-rate ${LEARNING_RATE} \
--n-iter ${N_ITER} \
--random-seed ${RANDOM_SEED} \
))
default: run-tsne
create-conda-env : ${CONDA_YML}
$(base-conda) env create -f ${<} -n $(conda-env-name)
run-tsne :
ifeq ($(has-env),)
$(MAKE) create-conda-env
endif
$(python) -m compute_tsne \
--xkey ${XKEY} \
--ykey ${YKEY} \
--tkey $(or ${TKEY},$(tkey)) \
$(and ${DRY_RUN},--dry-run) \
--perplexity ${PERPLEXITY} \
--num-neighbours ${NUM_NEIGHBOURS} \
--learning-rate ${LEARNING_RATE} \
--n-iter ${N_ITER} \
--n-steps ${N_STEPS} \
--step-progression ${STEP_PROGRESSION} \
--random-seed ${RANDOM_SEED} \
$(and ${FORCE_WRITE},--force-write) \
${TSNE_OUT_HDF5} \
${TSNE_IN_HDF5} \
plots :
ifeq ($(has-env),)
$(MAKE) create-conda-env
endif
$(python) -m plot \
--xkey $(or ${TKEY},$(tkey)) \
--ykey ${YKEY} \
--ynamekey ${YNAMEKEY} \
--ycolourkey ${YCOLOURKEY} \
--n-iter ${N_ITER} \
--n-steps ${N_STEPS} \
--step-progression ${STEP_PROGRESSION} \
--width ${WIDTH} \
--height ${HEIGHT} \
${TSNE_OUT_HDF5} \
${TSNE_IMPATH} \
## ----------------------------------------------------
## DEBUG
## ----------------------------------------------------
has-env :
$(base-conda) env list \
| grep $(conda-env-name) \
|| echo \
conda-env-name :
cat ${CONDA_YML} \
| sed '/^name/!d' \
| awk -F ': ' '{print $$2}' \