instrumented_inference_csv_report
Copy of the InferenceAndCSVReport protocol that sends metrics to Bitfount.
Classes
InstrumentedInferenceAndCSVReport
class InstrumentedInferenceAndCSVReport( *, algorithm: Sequence[Union[_InferenceAndCSVReportCompatibleAlgoFactory_, _InferenceAndCSVReportCompatibleModelAlgoFactory, _InferenceAndCSVReportCompatibleHuggingFaceAlgoFactory]], **kwargs: Any,):
Protocol that sends telemetry metrics back to Bitfount.
Extends InferenceAndCSVReport to send the number of records output to CSV.
Ancestors
- InferenceAndCSVReport
- BaseProtocolFactory
- abc.ABC
- bitfount.federated.roles._RolesMixIn
- bitfount.types._BaseSerializableObjectMixIn
Variables
algorithms : list
- Returns the algorithms in the protocol.
Methods
dump
def dump(self) ‑> SerializedProtocol:
Inherited from:
Returns the JSON-serializable representation of the protocol.
modeller
def modeller( self, mailbox: _ModellerMailbox, **kwargs: Any,) ‑> bitfount.federated.protocols.model_protocols.inference_csv_report._ModellerSide:
Inherited from:
InferenceAndCSVReport.modeller :
Returns the Modeller side of the protocol.
run
def run( self, pod_identifiers: Collection[str], session: Optional[BitfountSession] = None, username: Optional[str] = None, hub: Optional[BitfountHub] = None, ms_config: Optional[MessageServiceConfig] = None, message_service: Optional[_MessageService] = None, pod_public_key_paths: Optional[Mapping[str, Path]] = None, identity_verification_method: IdentityVerificationMethod = IdentityVerificationMethod.OIDC_DEVICE_CODE, private_key_or_file: Optional[Union[RSAPrivateKey, Path]] = None, idp_url: Optional[str] = None, require_all_pods: bool = False, run_on_new_data_only: bool = False, model_out: Optional[Union[Path, str]] = None, project_id: Optional[str] = None, batched_execution: Optional[bool] = None,) ‑> Optional[Any]:
Inherited from:
Sets up a local Modeller instance and runs the protocol.
Arguments
pod_identifiers
: The BitfountHub pod identifiers to run against.session
: Optional. Session to use for authenticated requests. Created if needed.username
: Username to run as. Defaults to logged in user.hub
: BitfountHub instance. Default: hub.bitfount.com.ms_config
: Message service config. Default: messaging.bitfount.com.message_service
: Message service instance, created from ms_config if not provided. Defaults to "messaging.bitfount.com".pod_public_key_paths
: Public keys of pods to be checked against.identity_verification_method
: The identity verification method to use.private_key_or_file
: Private key (to be removed).idp_url
: The IDP URL.require_all_pods
: If true raise PodResponseError if at least one pod identifier specified rejects or fails to respond to a task request.run_on_new_data_only
: Whether to run the task on new datapoints only. Defaults to False.model_out
: The path to save the model to.project_id
: The project ID to run the task under.batched_execution
: Whether to run the task in batched mode. Defaults to False.
Returns Results of the protocol.
Raises
PodResponseError
: If require_all_pods is true and at least one pod identifier specified rejects or fails to respond to a task request.ValueError
: If attempting to train on multiple pods, and theDataStructure
table name is given as a string.
worker
def worker(self, mailbox: _WorkerMailbox, hub: BitfountHub, **kwargs: Any) ‑> _WorkerSide:
Inherited from:
InferenceAndCSVReport.worker :
Returns worker side of the protocol.