Re-enable parameter push thread in learner server
- Uncomment and start the param_push_thread - Restore thread joining for param_push_thread
This commit is contained in:
parent
446f434a8e
commit
befa1fe9af
|
@ -0,0 +1,18 @@
|
||||||
|
import socket
|
||||||
|
|
||||||
|
|
||||||
|
def check_port(host, port):
|
||||||
|
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
|
try:
|
||||||
|
s.connect((host, port))
|
||||||
|
print(f"Connection successful to {host}:{port}!")
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Connection failed to {host}:{port}: {e}")
|
||||||
|
finally:
|
||||||
|
s.close()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
host = "127.0.0.1" # or "localhost"
|
||||||
|
port = 51350
|
||||||
|
check_port(host, port)
|
|
@ -0,0 +1,48 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||||
|
# NO CHECKED-IN PROTOBUF GENCODE
|
||||||
|
# source: hilserl.proto
|
||||||
|
# Protobuf Python Version: 5.29.0
|
||||||
|
"""Generated protocol buffer code."""
|
||||||
|
from google.protobuf import descriptor as _descriptor
|
||||||
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
||||||
|
from google.protobuf import runtime_version as _runtime_version
|
||||||
|
from google.protobuf import symbol_database as _symbol_database
|
||||||
|
from google.protobuf.internal import builder as _builder
|
||||||
|
_runtime_version.ValidateProtobufRuntimeVersion(
|
||||||
|
_runtime_version.Domain.PUBLIC,
|
||||||
|
5,
|
||||||
|
29,
|
||||||
|
0,
|
||||||
|
'',
|
||||||
|
'hilserl.proto'
|
||||||
|
)
|
||||||
|
# @@protoc_insertion_point(imports)
|
||||||
|
|
||||||
|
_sym_db = _symbol_database.Default()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rhilserl.proto\x12\x08hil_serl\"\x83\x01\n\x10\x41\x63torInformation\x12*\n\ntransition\x18\x01 \x01(\x0b\x32\x14.hil_serl.TransitionH\x00\x12;\n\x13interaction_message\x18\x02 \x01(\x0b\x32\x1c.hil_serl.InteractionMessageH\x00\x42\x06\n\x04\x64\x61ta\"&\n\nTransition\x12\x18\n\x10transition_bytes\x18\x01 \x01(\x0c\"%\n\nParameters\x12\x17\n\x0fparameter_bytes\x18\x01 \x01(\x0c\"7\n\x12InteractionMessage\x12!\n\x19interaction_message_bytes\x18\x01 \x01(\x0c\"\x07\n\x05\x45mpty2\x92\x01\n\x0eLearnerService\x12\x37\n\x0eSendTransition\x12\x14.hil_serl.Transition\x1a\x0f.hil_serl.Empty\x12G\n\x16SendInteractionMessage\x12\x1c.hil_serl.InteractionMessage\x1a\x0f.hil_serl.Empty2\x8c\x01\n\x0c\x41\x63torService\x12\x43\n\x10StreamTransition\x12\x0f.hil_serl.Empty\x1a\x1a.hil_serl.ActorInformation\"\x00\x30\x01\x12\x37\n\x0eSendParameters\x12\x14.hil_serl.Parameters\x1a\x0f.hil_serl.Emptyb\x06proto3')
|
||||||
|
|
||||||
|
_globals = globals()
|
||||||
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
||||||
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'hilserl_pb2', _globals)
|
||||||
|
if not _descriptor._USE_C_DESCRIPTORS:
|
||||||
|
DESCRIPTOR._loaded_options = None
|
||||||
|
_globals['_ACTORINFORMATION']._serialized_start=28
|
||||||
|
_globals['_ACTORINFORMATION']._serialized_end=159
|
||||||
|
_globals['_TRANSITION']._serialized_start=161
|
||||||
|
_globals['_TRANSITION']._serialized_end=199
|
||||||
|
_globals['_PARAMETERS']._serialized_start=201
|
||||||
|
_globals['_PARAMETERS']._serialized_end=238
|
||||||
|
_globals['_INTERACTIONMESSAGE']._serialized_start=240
|
||||||
|
_globals['_INTERACTIONMESSAGE']._serialized_end=295
|
||||||
|
_globals['_EMPTY']._serialized_start=297
|
||||||
|
_globals['_EMPTY']._serialized_end=304
|
||||||
|
_globals['_LEARNERSERVICE']._serialized_start=307
|
||||||
|
_globals['_LEARNERSERVICE']._serialized_end=453
|
||||||
|
_globals['_ACTORSERVICE']._serialized_start=456
|
||||||
|
_globals['_ACTORSERVICE']._serialized_end=596
|
||||||
|
# @@protoc_insertion_point(module_scope)
|
|
@ -0,0 +1,269 @@
|
||||||
|
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
||||||
|
"""Client and server classes corresponding to protobuf-defined services."""
|
||||||
|
import grpc
|
||||||
|
import warnings
|
||||||
|
|
||||||
|
import hilserl_pb2 as hilserl__pb2
|
||||||
|
|
||||||
|
GRPC_GENERATED_VERSION = '1.70.0'
|
||||||
|
GRPC_VERSION = grpc.__version__
|
||||||
|
_version_not_supported = False
|
||||||
|
|
||||||
|
try:
|
||||||
|
from grpc._utilities import first_version_is_lower
|
||||||
|
_version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
|
||||||
|
except ImportError:
|
||||||
|
_version_not_supported = True
|
||||||
|
|
||||||
|
if _version_not_supported:
|
||||||
|
raise RuntimeError(
|
||||||
|
f'The grpc package installed is at version {GRPC_VERSION},'
|
||||||
|
+ f' but the generated code in hilserl_pb2_grpc.py depends on'
|
||||||
|
+ f' grpcio>={GRPC_GENERATED_VERSION}.'
|
||||||
|
+ f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
|
||||||
|
+ f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class LearnerServiceStub(object):
|
||||||
|
"""LearnerService: the Actor calls this to push transitions.
|
||||||
|
The Learner implements this service.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, channel):
|
||||||
|
"""Constructor.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
channel: A grpc.Channel.
|
||||||
|
"""
|
||||||
|
self.SendTransition = channel.unary_unary(
|
||||||
|
'/hil_serl.LearnerService/SendTransition',
|
||||||
|
request_serializer=hilserl__pb2.Transition.SerializeToString,
|
||||||
|
response_deserializer=hilserl__pb2.Empty.FromString,
|
||||||
|
_registered_method=True)
|
||||||
|
self.SendInteractionMessage = channel.unary_unary(
|
||||||
|
'/hil_serl.LearnerService/SendInteractionMessage',
|
||||||
|
request_serializer=hilserl__pb2.InteractionMessage.SerializeToString,
|
||||||
|
response_deserializer=hilserl__pb2.Empty.FromString,
|
||||||
|
_registered_method=True)
|
||||||
|
|
||||||
|
|
||||||
|
class LearnerServiceServicer(object):
|
||||||
|
"""LearnerService: the Actor calls this to push transitions.
|
||||||
|
The Learner implements this service.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def SendTransition(self, request, context):
|
||||||
|
"""Actor -> Learner to store transitions
|
||||||
|
"""
|
||||||
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
|
context.set_details('Method not implemented!')
|
||||||
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
|
def SendInteractionMessage(self, request, context):
|
||||||
|
"""Missing associated documentation comment in .proto file."""
|
||||||
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
|
context.set_details('Method not implemented!')
|
||||||
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
|
|
||||||
|
def add_LearnerServiceServicer_to_server(servicer, server):
|
||||||
|
rpc_method_handlers = {
|
||||||
|
'SendTransition': grpc.unary_unary_rpc_method_handler(
|
||||||
|
servicer.SendTransition,
|
||||||
|
request_deserializer=hilserl__pb2.Transition.FromString,
|
||||||
|
response_serializer=hilserl__pb2.Empty.SerializeToString,
|
||||||
|
),
|
||||||
|
'SendInteractionMessage': grpc.unary_unary_rpc_method_handler(
|
||||||
|
servicer.SendInteractionMessage,
|
||||||
|
request_deserializer=hilserl__pb2.InteractionMessage.FromString,
|
||||||
|
response_serializer=hilserl__pb2.Empty.SerializeToString,
|
||||||
|
),
|
||||||
|
}
|
||||||
|
generic_handler = grpc.method_handlers_generic_handler(
|
||||||
|
'hil_serl.LearnerService', rpc_method_handlers)
|
||||||
|
server.add_generic_rpc_handlers((generic_handler,))
|
||||||
|
server.add_registered_method_handlers('hil_serl.LearnerService', rpc_method_handlers)
|
||||||
|
|
||||||
|
|
||||||
|
# This class is part of an EXPERIMENTAL API.
|
||||||
|
class LearnerService(object):
|
||||||
|
"""LearnerService: the Actor calls this to push transitions.
|
||||||
|
The Learner implements this service.
|
||||||
|
"""
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def SendTransition(request,
|
||||||
|
target,
|
||||||
|
options=(),
|
||||||
|
channel_credentials=None,
|
||||||
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
|
compression=None,
|
||||||
|
wait_for_ready=None,
|
||||||
|
timeout=None,
|
||||||
|
metadata=None):
|
||||||
|
return grpc.experimental.unary_unary(
|
||||||
|
request,
|
||||||
|
target,
|
||||||
|
'/hil_serl.LearnerService/SendTransition',
|
||||||
|
hilserl__pb2.Transition.SerializeToString,
|
||||||
|
hilserl__pb2.Empty.FromString,
|
||||||
|
options,
|
||||||
|
channel_credentials,
|
||||||
|
insecure,
|
||||||
|
call_credentials,
|
||||||
|
compression,
|
||||||
|
wait_for_ready,
|
||||||
|
timeout,
|
||||||
|
metadata,
|
||||||
|
_registered_method=True)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def SendInteractionMessage(request,
|
||||||
|
target,
|
||||||
|
options=(),
|
||||||
|
channel_credentials=None,
|
||||||
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
|
compression=None,
|
||||||
|
wait_for_ready=None,
|
||||||
|
timeout=None,
|
||||||
|
metadata=None):
|
||||||
|
return grpc.experimental.unary_unary(
|
||||||
|
request,
|
||||||
|
target,
|
||||||
|
'/hil_serl.LearnerService/SendInteractionMessage',
|
||||||
|
hilserl__pb2.InteractionMessage.SerializeToString,
|
||||||
|
hilserl__pb2.Empty.FromString,
|
||||||
|
options,
|
||||||
|
channel_credentials,
|
||||||
|
insecure,
|
||||||
|
call_credentials,
|
||||||
|
compression,
|
||||||
|
wait_for_ready,
|
||||||
|
timeout,
|
||||||
|
metadata,
|
||||||
|
_registered_method=True)
|
||||||
|
|
||||||
|
|
||||||
|
class ActorServiceStub(object):
|
||||||
|
"""ActorService: the Learner calls this to push parameters.
|
||||||
|
The Actor implements this service.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, channel):
|
||||||
|
"""Constructor.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
channel: A grpc.Channel.
|
||||||
|
"""
|
||||||
|
self.StreamTransition = channel.unary_stream(
|
||||||
|
'/hil_serl.ActorService/StreamTransition',
|
||||||
|
request_serializer=hilserl__pb2.Empty.SerializeToString,
|
||||||
|
response_deserializer=hilserl__pb2.ActorInformation.FromString,
|
||||||
|
_registered_method=True)
|
||||||
|
self.SendParameters = channel.unary_unary(
|
||||||
|
'/hil_serl.ActorService/SendParameters',
|
||||||
|
request_serializer=hilserl__pb2.Parameters.SerializeToString,
|
||||||
|
response_deserializer=hilserl__pb2.Empty.FromString,
|
||||||
|
_registered_method=True)
|
||||||
|
|
||||||
|
|
||||||
|
class ActorServiceServicer(object):
|
||||||
|
"""ActorService: the Learner calls this to push parameters.
|
||||||
|
The Actor implements this service.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def StreamTransition(self, request, context):
|
||||||
|
"""Learner -> Actor to send new parameters
|
||||||
|
"""
|
||||||
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
|
context.set_details('Method not implemented!')
|
||||||
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
|
def SendParameters(self, request, context):
|
||||||
|
"""Missing associated documentation comment in .proto file."""
|
||||||
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
||||||
|
context.set_details('Method not implemented!')
|
||||||
|
raise NotImplementedError('Method not implemented!')
|
||||||
|
|
||||||
|
|
||||||
|
def add_ActorServiceServicer_to_server(servicer, server):
|
||||||
|
rpc_method_handlers = {
|
||||||
|
'StreamTransition': grpc.unary_stream_rpc_method_handler(
|
||||||
|
servicer.StreamTransition,
|
||||||
|
request_deserializer=hilserl__pb2.Empty.FromString,
|
||||||
|
response_serializer=hilserl__pb2.ActorInformation.SerializeToString,
|
||||||
|
),
|
||||||
|
'SendParameters': grpc.unary_unary_rpc_method_handler(
|
||||||
|
servicer.SendParameters,
|
||||||
|
request_deserializer=hilserl__pb2.Parameters.FromString,
|
||||||
|
response_serializer=hilserl__pb2.Empty.SerializeToString,
|
||||||
|
),
|
||||||
|
}
|
||||||
|
generic_handler = grpc.method_handlers_generic_handler(
|
||||||
|
'hil_serl.ActorService', rpc_method_handlers)
|
||||||
|
server.add_generic_rpc_handlers((generic_handler,))
|
||||||
|
server.add_registered_method_handlers('hil_serl.ActorService', rpc_method_handlers)
|
||||||
|
|
||||||
|
|
||||||
|
# This class is part of an EXPERIMENTAL API.
|
||||||
|
class ActorService(object):
|
||||||
|
"""ActorService: the Learner calls this to push parameters.
|
||||||
|
The Actor implements this service.
|
||||||
|
"""
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def StreamTransition(request,
|
||||||
|
target,
|
||||||
|
options=(),
|
||||||
|
channel_credentials=None,
|
||||||
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
|
compression=None,
|
||||||
|
wait_for_ready=None,
|
||||||
|
timeout=None,
|
||||||
|
metadata=None):
|
||||||
|
return grpc.experimental.unary_stream(
|
||||||
|
request,
|
||||||
|
target,
|
||||||
|
'/hil_serl.ActorService/StreamTransition',
|
||||||
|
hilserl__pb2.Empty.SerializeToString,
|
||||||
|
hilserl__pb2.ActorInformation.FromString,
|
||||||
|
options,
|
||||||
|
channel_credentials,
|
||||||
|
insecure,
|
||||||
|
call_credentials,
|
||||||
|
compression,
|
||||||
|
wait_for_ready,
|
||||||
|
timeout,
|
||||||
|
metadata,
|
||||||
|
_registered_method=True)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def SendParameters(request,
|
||||||
|
target,
|
||||||
|
options=(),
|
||||||
|
channel_credentials=None,
|
||||||
|
call_credentials=None,
|
||||||
|
insecure=False,
|
||||||
|
compression=None,
|
||||||
|
wait_for_ready=None,
|
||||||
|
timeout=None,
|
||||||
|
metadata=None):
|
||||||
|
return grpc.experimental.unary_unary(
|
||||||
|
request,
|
||||||
|
target,
|
||||||
|
'/hil_serl.ActorService/SendParameters',
|
||||||
|
hilserl__pb2.Parameters.SerializeToString,
|
||||||
|
hilserl__pb2.Empty.FromString,
|
||||||
|
options,
|
||||||
|
channel_credentials,
|
||||||
|
insecure,
|
||||||
|
call_credentials,
|
||||||
|
compression,
|
||||||
|
wait_for_ready,
|
||||||
|
timeout,
|
||||||
|
metadata,
|
||||||
|
_registered_method=True)
|
|
@ -206,9 +206,8 @@ def start_learner_threads(
|
||||||
|
|
||||||
server_thread.start()
|
server_thread.start()
|
||||||
transition_thread.start()
|
transition_thread.start()
|
||||||
# param_push_thread.start()
|
param_push_thread.start()
|
||||||
|
param_push_thread.join()
|
||||||
# param_push_thread.join()
|
|
||||||
transition_thread.join()
|
transition_thread.join()
|
||||||
server_thread.join()
|
server_thread.join()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue