@@ -76,6 +76,7 @@ def read_tensor(fs: io.BufferedReader, ts: TensorSpec) -> TensorValue:
76
76
def pretty_print_tensor_value (tv : TensorValue ):
77
77
print (f'{ tv .spec ().name } : { "," .join ([str (v ) for v in tv ])} ' )
78
78
79
+
79
80
def read_header (f : io .BufferedReader ):
80
81
header = json .loads (f .readline ())
81
82
tensor_specs = [TensorSpec .from_dict (ts ) for ts in header ['features' ]]
@@ -86,10 +87,8 @@ def read_header(f: io.BufferedReader):
86
87
return tensor_specs , score_spec , advice_spec
87
88
88
89
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 ],
93
92
score_spec : Optional [TensorSpec ]):
94
93
event = json .loads (event_str )
95
94
if 'context' in event :
@@ -113,7 +112,10 @@ def read_stream(fname: str):
113
112
with io .BufferedReader (io .FileIO (fname , 'rb' )) as f :
114
113
tensor_specs , score_spec , _ = read_header (f )
115
114
context = None
116
- while event_str := f .readline ():
115
+ while True :
116
+ event_str = f .readline ()
117
+ if not event_str :
118
+ break
117
119
context , observation_id , features , score = read_one_observation (
118
120
context , event_str , f , tensor_specs , score_spec )
119
121
yield context , observation_id , features , score
0 commit comments