import time import pickle2reducer import multiprocessing multiprocessing.context._default_context.reducer = pickle2reducer.Pickle2Reducer( ) from multiprocessing.managers import BaseManager from queue import Queue import numpy as np import sys import os import wget from tflite_runtime.interpreter import load_delegate from tflite_runtime.interpreter import Interpreter HOST = '127.0.0.1' INPUT_PORT = 50002 INPUT_AUTH = b'inputpass' OUTPUT_PORT = 50003 OUTPUT_AUTH = b'outpass' input_queue = Queue() output_queue = Queue() class QueueManager(BaseManager): pass QueueManager.register('get_input_queue', callable=lambda: input_queue)
#!/usr/bin/env python3 import time import pickle2reducer import multiprocessing as mp ROBOT_CMD_PORT = 6000 ROBOT_SECRET_KEY = b"Friggin Lazer!" ctx = mp.get_context() ctx.reducer = pickle2reducer.Pickle2Reducer() from multiprocessing.connection import Client run = 1 address = ('localhost', ROBOT_CMD_PORT) while run: try: conn = Client(address, authkey=ROBOT_SECRET_KEY) msgs = ['Does that shark have a friggin lazer?!', 'close'] for msg in msgs: print("SENDING: %s" % msg) conn.send(msg) # can also send arbitrary objects: # conn.send(['a', 2.5, None, int, sum]) conn.close() run = 0 except ConnectionRefusedError: time.sleep(1)