Exemple #1
0
 async def input_set(self, record: Record) -> List[Input]:
     return ([
         Input(
             value=record.feature(feature.name),
             definition=Definition(
                 name=feature.name,
                 primitive=str(feature.dtype()),
             ),
         ) for feature in self.parent.config.features
     ] + [
         Input(
             value=value,
             definition=self.parent.config.dataflow.definitions[name],
         ) for value, name in self.parent.config.inputs
     ] + ([] if not self.parent.config.length else [
         Input(
             value=await self.sctx.length(),
             definition=Definition(
                 name=self.parent.config.length,
                 primitive="int",
             ),
         )
     ]) + ([] if not self.parent.config.record_def else [
         Input(
             value=record.key,
             definition=Definition(
                 name=self.parent.config.record_def,
                 primitive="string",
             ),
         )
     ]))
Exemple #2
0
 async def test_predict(self):
     records: Dict[str, Record] = {
         record.key: record.export()
         async for record in self.sctx.records()
     }
     async with self.post(f"/model/{self.mlabel}/predict/0",
                          json=records) as r:
         i: int = 0
         response = await r.json()
         for key, record_data in response["records"].items():
             record = Record(key, data=record_data)
             self.assertEqual(int(record.key), i)
             self.assertEqual(
                 record.feature("by_ten"),
                 record.prediction("Salary").value / 10,
             )
             self.assertEqual(float(record.key),
                              record.prediction("Salary").confidence)
             i += 1
         self.assertEqual(i, self.num_records)