@@ -46,7 +46,11 @@ class Log:
46
46
#
47
47
48
48
def load_meta (self , meta_file_name : str ):
49
- self ._meta_file_name = meta_file_name
49
+ if self ._meta_file_name == "" :
50
+ self ._meta_file_name = meta_file_name
51
+ else :
52
+ self ._meta_file_name = [self ._meta_file_name , meta_file_name ]
53
+
50
54
with open (os .path .join (self ._log_directory , meta_file_name ), 'rb' ) as file :
51
55
received_json = json .load (file )
52
56
self ._log_meta .set_from_json (received_json )
@@ -100,16 +104,21 @@ def load_all(self, meta_file_names: Union[str, list], please_wait: PleaseWait, t
100
104
def _load_all_single_episode (self , meta_file_name : str , please_wait : PleaseWait , track : Track ,
101
105
calculate_new_reward , calculate_alternate_discount_factors , progress_start , progress_finish ):
102
106
self .load_meta (meta_file_name )
103
- self . _log_file_name = meta_file_name [:- len (META_FILE_SUFFIX )]
107
+ log_file_name = meta_file_name [:- len (META_FILE_SUFFIX )]
104
108
discount_factors .reset_for_log (self ._log_meta .discount_factor .get ())
105
109
110
+ if self ._log_file_name == "" :
111
+ self ._log_file_name = log_file_name
112
+ else :
113
+ self ._log_file_name = [self ._log_file_name , log_file_name ]
114
+
106
115
if track is not None :
107
116
assert track .has_world_name (self ._log_meta .track_name .get ())
108
117
109
118
progress_middle = (progress_finish - progress_start ) / 2 + progress_start
110
119
111
- if self . _log_file_name .endswith (CONSOLE_LOG_SUFFIX ):
112
- with tarfile .open (os .path .join (self ._log_directory , self . _log_file_name ), "r" ) as tar :
120
+ if log_file_name .endswith (CONSOLE_LOG_SUFFIX ):
121
+ with tarfile .open (os .path .join (self ._log_directory , log_file_name ), "r" ) as tar :
113
122
for member in tar :
114
123
if "/logs/training" in member .name and member .name .endswith ("-robomaker.log" ):
115
124
binary_io = tar .extractfile (member )
@@ -119,7 +128,7 @@ def _load_all_single_episode(self, meta_file_name: str, please_wait: PleaseWait,
119
128
progress_start , progress_middle , progress_finish , True , False , member .size , track ,
120
129
calculate_new_reward , calculate_alternate_discount_factors )
121
130
else :
122
- with open (os .path .join (self ._log_directory , self . _log_file_name ), "r" ) as file_io :
131
+ with open (os .path .join (self ._log_directory , log_file_name ), "r" ) as file_io :
123
132
self ._parse_episode_events (
124
133
file_io , False ,
125
134
please_wait ,
@@ -169,6 +178,9 @@ def get_meta_file_name(self):
169
178
def get_log_file_name (self ):
170
179
return self ._log_file_name
171
180
181
+ def get_log_directory (self ):
182
+ return self ._log_directory
183
+
172
184
def get_evaluation_phases (self ):
173
185
return self ._evaluation_phases
174
186
@@ -213,9 +225,14 @@ def _parse_episode_events(self, file_io, is_binary: bool, please_wait: PleaseWai
213
225
saved_object_locations = None
214
226
iteration_id = 0
215
227
216
- log_file_path = os .path .join (self ._log_directory , self ._log_file_name )
228
+ if isinstance (self ._log_file_name , list ):
229
+ log_file_name = self ._log_file_name [- 1 ]
230
+ else :
231
+ log_file_name = self ._log_file_name
232
+
233
+ log_file_path = os .path .join (self ._log_directory , log_file_name )
217
234
self ._log_meta .set_file_os_stats (os .stat (log_file_path ))
218
- self ._log_meta .file_name .set (self . _log_file_name )
235
+ self ._log_meta .file_name .set (log_file_name )
219
236
220
237
# TODO - This fudge goes away when all the file handling is re-located into here ...
221
238
if file_size_override > 0 :
@@ -309,10 +326,10 @@ def _parse_episode_events(self, file_io, is_binary: bool, please_wait: PleaseWai
309
326
310
327
# Override AWS id with better model name from filename if possible
311
328
if self ._log_meta .model_name .get () and AWS_UID_REG_EX .match (self ._log_meta .model_name .get ()):
312
- if TRAINING_FILE_REG_EXP .search (self . _log_file_name ):
313
- self ._log_meta .model_name .set (TRAINING_FILE_REG_EXP .sub ("" , self . _log_file_name ))
329
+ if TRAINING_FILE_REG_EXP .search (log_file_name ):
330
+ self ._log_meta .model_name .set (TRAINING_FILE_REG_EXP .sub ("" , log_file_name ))
314
331
else :
315
- self ._log_meta .model_name .set (re .sub ("\\ ..*" , "" , self . _log_file_name ))
332
+ self ._log_meta .model_name .set (re .sub ("\\ ..*" , "" , log_file_name ))
316
333
317
334
def _analyze_episode_details (self ):
318
335
total_success_steps = 0
0 commit comments