-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun.py
More file actions
71 lines (48 loc) · 1.71 KB
/
Copy pathrun.py
File metadata and controls
71 lines (48 loc) · 1.71 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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import sys, base64, json, os
from datetime import datetime
from data_parser import Parser
from train import Train
from predict import Predict
if len(sys.argv) > 2:
mode = sys.argv[1]
input_ = sys.argv[2]
input_ = base64.b64decode(input_).decode('utf-8')
input_ = json.loads(input_)
else:
print("Input parameter error.")
if mode == "parser":
zip_name = input_["ZIP_NAME"]
temp_path = input_["TEMP_PATH"]
clean_path = input_["CLEAN_PATH"]
init_path = input_["INIT_PATH"]
data_info = input_["DATA_INFO"]
log_path = input_["LOG_PATH"]
parser = Parser()
parser.data_clean(zip_name, temp_path, clean_path, init_path, data_info, log_path)
elif mode == "train":
start = input_["START_DATE"]
end = input_["END_DATE"]
init_path = input_["INIT_PATH"]
log_path = input_["TRAIN_LOG"]
model_path = input_["MODEL_PATH"]
if (start == None):
start = "2022-05-25"
if (end == None):
end = datetime.today().strftime("%Y-%m-%d")
start = datetime.strptime(start, "%Y-%m-%d")
end = datetime.strptime(end, "%Y-%m-%d")
if not os.path.isdir(model_path):
os.makedirs(model_path)
model_detail = os.path.join(model_path, "model")
if not os.path.isdir(model_detail):
os.makedirs(model_detail)
train = Train(start, end, init_path, log_path, model_path, model_detail)
train.main()
elif mode == "predict":
input_path = input_["INPUT"]
output_path = input_["OUTPUT"]
model_detail = os.path.join(input_["MODEL"], "model")
log_path = input_["LOG"]
pred_path = os.path.dirname(input_path)
predict = Predict(input_path, model_detail, output_path, log_path, pred_path)
predict.main()