@@ -76,6 +76,7 @@ def read_tensor(fs: io.BufferedReader, ts: TensorSpec) -> TensorValue:
7676def pretty_print_tensor_value (tv : TensorValue ):
7777 print (f'{ tv .spec ().name } : { "," .join ([str (v ) for v in tv ])} ' )
7878
79+
7980def read_header (f : io .BufferedReader ):
8081 header = json .loads (f .readline ())
8182 tensor_specs = [TensorSpec .from_dict (ts ) for ts in header ['features' ]]
@@ -86,10 +87,8 @@ def read_header(f: io.BufferedReader):
8687 return tensor_specs , score_spec , advice_spec
8788
8889
89- def read_one_observation (context : Optional [str ],
90- event_str : str ,
91- f : io .BufferedReader ,
92- tensor_specs : List [TensorSpec ],
90+ def read_one_observation (context : Optional [str ], event_str : str ,
91+ f : io .BufferedReader , tensor_specs : List [TensorSpec ],
9392 score_spec : Optional [TensorSpec ]):
9493 event = json .loads (event_str )
9594 if 'context' in event :
@@ -113,7 +112,10 @@ def read_stream(fname: str):
113112 with io .BufferedReader (io .FileIO (fname , 'rb' )) as f :
114113 tensor_specs , score_spec , _ = read_header (f )
115114 context = None
116- while event_str := f .readline ():
115+ while True :
116+ event_str = f .readline ()
117+ if not event_str :
118+ break
117119 context , observation_id , features , score = read_one_observation (
118120 context , event_str , f , tensor_specs , score_spec )
119121 yield context , observation_id , features , score
0 commit comments