Repository navigation
Expand file tree
/
Copy pathdg_predictiction.py
More file actions
69 lines (60 loc) · 2.34 KB
/
Copy pathdg_predictiction.py
File metadata and controls
69 lines (60 loc) · 2.34 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
# -*- coding: utf-8 -*-
"""
Created on Tue Feb 23 19:08:25 2021
@author: Manuel Camargo
"""
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
import sys
import getopt
from model_prediction import model_predictor as pr
# =============================================================================
# Main function
# =============================================================================
def catch_parameter(opt):
"""Change the captured parameters names"""
switch = {'-h': 'help', '-a': 'activity', '-c': 'folder',
'-b': 'model_file', '-v': 'variant', '-r': 'rep'}
return switch.get(opt)
def main(argv):
parameters = dict()
column_names = {'Case ID': 'caseid',
'Activity': 'task',
'lifecycle:transition': 'event_type',
'Resource': 'user'}
parameters['one_timestamp'] = False # Only one timestamp in the log
parameters['read_options'] = {
'timeformat': '%Y-%m-%dT%H:%M:%S.%f',
'column_names': column_names,
'one_timestamp': parameters['one_timestamp'],
'filter_d_attrib': False}
# Parameters settled manually or catched by console for batch operations
if not argv:
# predict_next, pred_sfx
parameters['activity'] = 'pred_log'
parameters['folder'] = '20230302_3CC0DC8C_5A76_4ED1_8E90_AFB851EB1AA0'
parameters['model_file'] = 'Production.h5'
parameters['is_single_exec'] = False # single or batch execution
# variants and repetitions to be tested Random Choice, Arg Max
parameters['variant'] = 'Random Choice'
parameters['rep'] = 1
else:
# Catch parms by console
try:
opts, _ = getopt.getopt(argv, "ho:a:f:c:b:v:r:",
['one_timestamp=', 'activity=', 'folder=',
'model_file=', 'variant=', 'rep='])
for opt, arg in opts:
key = catch_parameter(opt)
if key in ['rep']:
parameters[key] = int(arg)
else:
parameters[key] = arg
except getopt.GetoptError:
print('Invalid option')
sys.exit(2)
print(parameters['folder'])
print(parameters['model_file'])
pr.ModelPredictor(parameters)
if __name__ == "__main__":
main(sys.argv[1:])