Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tracer has a logged_request arg, remote backend no execute #236

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/nnsight/contexts/Tracer.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down Expand Up @@ -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):

Expand Down
28 changes: 1 addition & 27 deletions src/nnsight/contexts/backends/RemoteBackend.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Loading