Skip to content

Commit 4db486c

Browse files
committed
New config for data selection.
1 parent 7cac1be commit 4db486c

File tree

10 files changed

+81
-65
lines changed

10 files changed

+81
-65
lines changed

creator/dvc.lock

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ stages:
44
cmd: python src/train.py
55
deps:
66
- path: src/train.py
7-
md5: 02335565db7f658fd2e4dd3c6c3cf743
8-
size: 4108
7+
md5: afe44f9001ad3e56cfd8aa9441fa092d
8+
size: 4184
99
params:
1010
params.yaml:
11-
train.batch_size: 128
11+
train.batch_size: 32
1212
train.custom_loss: true
13-
train.dancers: maria
13+
train.dancers: all
1414
train.epochs: 1
1515
train.look_back: 10
1616
train.lstm_layer: 32
@@ -19,34 +19,35 @@ stages:
1919
train.validation_split: 0.7
2020
outs:
2121
- path: ../data/metrics/deep-dance-loss.json
22-
md5: 13dc782f07133da6903e55d6b475bc67
23-
size: 128
22+
md5: fc40a323d5909d64bdb8b4581b989fbd
23+
size: 123
2424
- path: ../data/metrics/deep-dance-scores.json
25-
md5: 2e6574f2d78111cc86cac591f409438b
26-
size: 80
25+
md5: 4c30eb3ff6a3dbab13c2f9445c3684b3
26+
size: 75
2727
- path: ../data/models
28-
md5: e5883246f4f38a059485d6f6472b9555.dir
28+
md5: 9024a2e0efc48d91e7a4ca82a71ad2fe.dir
2929
size: 535704
3030
nfiles: 1
3131
generate:
3232
cmd: python src/generate.py
3333
deps:
3434
- path: ../data/models
35-
md5: 70be98e833d4e6a3617faf798247a601.dir
35+
md5: 9024a2e0efc48d91e7a4ca82a71ad2fe.dir
3636
size: 535704
3737
nfiles: 1
3838
- path: src/generate.py
39-
md5: b0128c019efb4bd1a0ff17ee4c554ac2
40-
size: 2293
39+
md5: 923a628ff5fcbaed9e01f35f397ebb27
40+
size: 2816
4141
params:
4242
params.yaml:
4343
generate.custom_loss: true
4444
generate.look_back: 10
4545
generate.random_state: 42
4646
generate.seed: 1500
4747
generate.steps_limit: 1500
48+
generate.validation_split: 0.7
4849
outs:
4950
- path: ../data/generated
50-
md5: 6016096bad13b978bb560bc52d668b77.dir
51-
size: 1623899
51+
md5: 9d3d915de708ebaeb2521fe7847e8306.dir
52+
size: 1620568
5253
nfiles: 1

creator/exp_generate.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,11 @@
2424
-S train.lstm_layer={3} \
2525
-S train.mdn_layer={4} \
2626
-S train.dancers={5} \
27-
-S train.tags={6} \
28-
-S generate.look_back={7}'
27+
-S generate.look_back={6} \
28+
-S generate.dancers={7}'
2929

3030
def run_exp_suite_01(call = False):
31-
dancers = 'girish,maria,mark,marlen,raymond,tinyeung'
32-
tags = 'impro'
31+
dancers = 'all'
3332
for batch_size in [32]:
3433
for look_back in [10, 100]:
3534
for lstm_layer in [32, 64, 128]:
@@ -41,8 +40,8 @@ def run_exp_suite_01(call = False):
4140
lstm_layer,
4241
mdn_layer,
4342
dancers,
44-
tags,
45-
look_back)
43+
look_back,
44+
dancers)
4645
print(sh_command)
4746
if call:
4847
stream = os.popen(sh_command)

creator/exp_run.sh

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#!/bin/bash
22

3+
34
# --------------------------
45
# Smoke test(s)
56
# --------------------------
@@ -8,36 +9,32 @@
89
# -S train.custom_loss=False \
910
# -S generate.custom_loss=False
1011

11-
1212
# --------------------------
1313
# Queue up experiments. Please see 'exp_generate.py' on how to generate these DVC calls.
1414
# --------------------------
15-
echo "Training started..."
15+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=32 -S train.mdn_layer=2 -S train.dancers=all -S generate.look_back=10 -S generate.dancers=all
16+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=32 -S train.mdn_layer=3 -S train.dancers=all -S generate.look_back=10 -S generate.dancers=all
17+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=32 -S train.mdn_layer=5 -S train.dancers=all -S generate.look_back=10 -S generate.dancers=all
18+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=64 -S train.mdn_layer=2 -S train.dancers=all -S generate.look_back=10 -S generate.dancers=all
19+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=64 -S train.mdn_layer=3 -S train.dancers=all -S generate.look_back=10 -S generate.dancers=all
20+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=64 -S train.mdn_layer=5 -S train.dancers=all -S generate.look_back=10 -S generate.dancers=all
21+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=128 -S train.mdn_layer=2 -S train.dancers=all -S generate.look_back=10 -S generate.dancers=all
22+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=128 -S train.mdn_layer=3 -S train.dancers=all -S generate.look_back=10 -S generate.dancers=all
23+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=128 -S train.mdn_layer=5 -S train.dancers=all -S generate.look_back=10 -S generate.dancers=all
24+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=32 -S train.mdn_layer=2 -S train.dancers=all -S generate.look_back=100 -S generate.dancers=all
25+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=32 -S train.mdn_layer=3 -S train.dancers=all -S generate.look_back=100 -S generate.dancers=all
26+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=32 -S train.mdn_layer=5 -S train.dancers=all -S generate.look_back=100 -S generate.dancers=all
27+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=64 -S train.mdn_layer=2 -S train.dancers=all -S generate.look_back=100 -S generate.dancers=all
28+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=64 -S train.mdn_layer=3 -S train.dancers=all -S generate.look_back=100 -S generate.dancers=all
29+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=64 -S train.mdn_layer=5 -S train.dancers=all -S generate.look_back=100 -S generate.dancers=all
30+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=128 -S train.mdn_layer=2 -S train.dancers=all -S generate.look_back=100 -S generate.dancers=all
31+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=128 -S train.mdn_layer=3 -S train.dancers=all -S generate.look_back=100 -S generate.dancers=all
32+
dvc exp run --queue -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=128 -S train.mdn_layer=5 -S train.dancers=all -S generate.look_back=100 -S generate.dancers=all
1633

17-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=32 -S train.mdn_layer=2 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=10
18-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=32 -S train.mdn_layer=3 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=10
19-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=32 -S train.mdn_layer=5 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=10
20-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=64 -S train.mdn_layer=2 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=10
21-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=64 -S train.mdn_layer=3 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=10
22-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=64 -S train.mdn_layer=5 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=10
23-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=128 -S train.mdn_layer=2 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=10
24-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=128 -S train.mdn_layer=3 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=10
25-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=10 -S train.lstm_layer=128 -S train.mdn_layer=5 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=10
26-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=32 -S train.mdn_layer=2 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=100
27-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=32 -S train.mdn_layer=3 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=100
28-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=32 -S train.mdn_layer=5 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=100
29-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=64 -S train.mdn_layer=2 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=100
30-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=64 -S train.mdn_layer=3 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=100
31-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=64 -S train.mdn_layer=5 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=100
32-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=128 -S train.mdn_layer=2 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=100
33-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=128 -S train.mdn_layer=3 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=100
34-
dvc exp run -S train.epochs=10 -S train.batch_size=32 -S train.look_back=100 -S train.lstm_layer=128 -S train.mdn_layer=5 -S train.dancers=girish,maria,mark,marlen,raymond,tinyeung -S train.tags=impro -S generate.look_back=100
3534

36-
echo "Training finished."
37-
echo "$now"
3835
# ---------------------------
3936
# Run queued experiments
4037
# ---------------------------
41-
# dvc exp run --run-all
38+
dvc exp run --run-all --jobs 1
4239
# Or run in parallel
4340
# dvc exp run --run-all --jobs 2

creator/params.yaml

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,29 @@ prepare:
22
look_back: 10
33
split: 0.05
44
random_state: 42
5-
dancers: 'maria'
6-
tags: 'impro'
5+
dancers: all
6+
tags: impro
77

88
train:
99
epochs: 1
10-
batch_size: 128
10+
batch_size: 32
1111
look_back: 10
1212
lstm_layer: 32
1313
mdn_layer: 3
14-
custom_loss: True
14+
custom_loss: true
1515
random_state: 42
16-
dancers: 'maria'
17-
tags: 'impro'
16+
dancers: all
17+
tags: impro
18+
test_size: 0.05
1819
validation_split: 0.7
19-
20+
2021
generate:
2122
look_back: 10
2223
random_state: 42
2324
seed: 1500
2425
steps_limit: 1500
25-
custom_loss: True
26-
validation_split: 0.7
26+
custom_loss: true
27+
dancers: all
28+
tags: impro
29+
test_size: 0.05
30+
validation_split: 0.7

creator/src/generate.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,15 @@ def get_parser():
3333

3434
if __name__ == '__main__':
3535
params = yaml.safe_load(open('params.yaml'))['generate']
36+
dancers = params['dancers']
37+
tags = params['tags']
3638
seed = params['seed']
3739
steps_limit = params['steps_limit']
3840
look_back = params['look_back']
3941
random_state = params['random_state']
4042
custom_loss = params['custom_loss']
4143
validation_split = params['validation_split']
44+
test_size = params['test_size']
4245

4346
args = get_parser().parse_args()
4447

@@ -53,9 +56,19 @@ def get_parser():
5356

5457
# TODO Remove after NPZ export fix
5558
print("Loading prepared data. This might take a while..")
56-
x, y = get_training_data(look_back = look_back)
59+
# x, y = get_training_data(look_back = look_back)
60+
selected_dancers = dancers.split(',')
61+
for d in selected_dancers:
62+
d = d.strip()
63+
64+
selected_tags = tags.split(',')
65+
for t in selected_tags:
66+
t = d.strip()
67+
68+
x, y = get_training_data(dancers = selected_dancers, tags = selected_tags,
69+
look_back = look_back)
5770
x_train, x_test, y_train, y_test = train_test_split(
58-
x, y, test_size=validation_split, shuffle=True, random_state=random_state)
71+
x, y, test_size=test_size, shuffle=True, random_state=random_state)
5972

6073
os.makedirs(os.path.join('../', 'data', 'generated'), exist_ok=True)
6174

creator/src/model.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,13 @@ class DeepDanceModel:
3939
def __init__(
4040
self,
4141
look_back = 10, lstm_layers = 32,
42-
mdn_layers = 3, custom_loss = False):
42+
mdn_layers = 3, validation_split = 0.10, custom_loss = False):
4343
self.look_back = look_back
4444
self.mdn_layers = mdn_layers
4545
self.custom_loss = custom_loss
4646
self.trained = False
4747

48-
self.validation_split = 0.10
48+
self.validation_split = validation_split
4949

5050
self.model = keras.Sequential()
5151
self.model.add(layers.LSTM(

creator/src/train.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ def get_parser():
6060
mdn_layer = params['mdn_layer']
6161
custom_loss = params['custom_loss']
6262
validation_split = params['validation_split']
63+
test_size = params['test_size']
6364

6465
args = get_parser().parse_args()
6566

@@ -95,7 +96,7 @@ def get_parser():
9596
x, y = get_training_data(dancers = selected_dancers, tags = selected_tags,
9697
look_back = look_back)
9798
x_train, x_test, y_train, y_test = train_test_split(
98-
x, y, test_size=validation_split, shuffle= True, random_state=42)
99+
x, y, test_size=test_size, shuffle= True, random_state=42)
99100

100101
print("Data shape(s):")
101102
print("x: ", np.shape(x_train))
@@ -112,7 +113,8 @@ def get_parser():
112113

113114
model = DeepDanceModel(
114115
look_back = look_back, lstm_layers = lstm_layer,
115-
mdn_layers = mdn_layer, custom_loss=custom_loss)
116+
mdn_layers = mdn_layer, validation_split = validation_split,
117+
custom_loss = custom_loss)
116118
model.train(x, y, epochs = epochs, batch_size = batch_size)
117119

118120
print('Saving model and metrics...')

data/metrics/deep-dance-loss.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"perf": [
33
{
4-
"loss": -46.17393493652344,
5-
"val_loss": -51.5170783996582
4+
"loss": -66.89143371582031,
5+
"val_loss": -81.72607421875
66
}
77
]
88
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"end_loss": -46.17393493652344,
3-
"end_val_loss": -51.5170783996582
2+
"end_loss": -66.89143371582031,
3+
"end_val_loss": -81.72607421875
44
}

data/train/video/deep-dance.dvc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
outs:
2-
- md5: 35a0f4dd4f0fbe71dc538cdf93f01af9.dir
3-
size: 3566601036
4-
nfiles: 1273
2+
- md5: 25ead98518a2747bf1252ffde07256a9.dir
3+
size: 3923719785
4+
nfiles: 1281
55
path: deep-dance

0 commit comments

Comments
 (0)