From 497dcca48d2e556a4fc285854b95d78dc41bfcb1 Mon Sep 17 00:00:00 2001 From: Caden <35741667+cadentj@users.noreply.github.com> Date: Wed, 11 Sep 2024 11:57:54 -0400 Subject: [PATCH] tracer has a logged_request arg, remote backend no execute --- src/nnsight/contexts/Tracer.py | 6 ++-- .../contexts/backends/RemoteBackend.py | 28 +------------------ 2 files changed, 4 insertions(+), 30 deletions(-) diff --git a/src/nnsight/contexts/Tracer.py b/src/nnsight/contexts/Tracer.py index 1fb24fa6..4c497979 100755 --- a/src/nnsight/contexts/Tracer.py +++ b/src/nnsight/contexts/Tracer.py @@ -66,6 +66,8 @@ def __init__( # Module Envoys need to know about the current Tracer to create the correct proxies. self.model._envoy._set_tracer(weakref.proxy(self)) + self.logged_request = None + def __getattr__(self, key: Any) -> Any: """Wrapper of .model._envoy's attributes to access module Envoy inputs and outputs. @@ -176,9 +178,7 @@ def remote_backend_postprocess_result(self, local_result: Graph) -> Dict[str, An def remote_backend_handle_result_value(self, value: Dict[str, Any]) -> None: - # TODO : graph mismatch handle. hash json ? - for node_name, node_value in value.items(): - self.graph.nodes[node_name]._value = node_value + self.logged_request = value def remote_backend_cleanup(self): diff --git a/src/nnsight/contexts/backends/RemoteBackend.py b/src/nnsight/contexts/backends/RemoteBackend.py index 38840964..eb33c8ee 100644 --- a/src/nnsight/contexts/backends/RemoteBackend.py +++ b/src/nnsight/contexts/backends/RemoteBackend.py @@ -247,33 +247,7 @@ def blocking_request(self, request: "RequestModel"): request (RequestModel): Request. """ - from ...schema.Response import ResponseModel - - # Create a socketio connection to the server. - with socketio.SimpleClient( - logger=logger, reconnection_attempts=10 - ) as sio: - # Connect - sio.connect( - self.ws_address, - socketio_path="/ws/socket.io", - transports=["websocket"], - wait_timeout=10, - ) - - # Give request session ID so server knows to respond via websockets to us. - request.session_id = sio.sid - - # Submit request via - self.submit_request(request) - - # Loop until - while True: - if ( - self.handle_response(sio.receive()[1]).status - == ResponseModel.JobStatus.COMPLETED - ): - break + self.handle_result(request) def non_blocking_request(self, request: "RequestModel" = None): """Send intervention request to the remote service if request provided. Otherwise get job status.