Ich verwende den unten gezeigten Python -Code, um ein Numpy -Array vom Client mit Neromq an den Server zu senden und zu senden. Mir ist aufgefallen, dass der Client beim Senden des Arrays, wenn das Numpy -Array größer als 2 GB ist. Zum Beispiel im unten angegebenen Client.py Code, wenn Sie n = 17000 verwenden, bleibt der Client nach dem Erstellen des Arrays zum Stillstand. Ich habe diesen Code auf einem MacBook Pro -Laptop mit 32 GB Speicher geleitet, sodass für die Nachricht viel RAM zur Verfügung steht. Gibt es eine Grenze für die Größe eines Numpy -Arrays, das ich mit Zeromq senden kann? Wenn es ein Limit gibt, wie würde ich dann ein Array senden, das das Größenlimit überschreitet? pre class = "Lang-Py PrettyPrint-Override">
Ich verwende den unten gezeigten Python -Code, um ein Numpy -Array vom Client mit Neromq an den Server zu senden und zu senden. Mir ist aufgefallen, dass der Client beim Senden des Arrays, wenn das Numpy -Array größer als 2 GB ist. Zum Beispiel im unten angegebenen Client.py Code, wenn Sie n = 17000 verwenden, bleibt der Client nach dem Erstellen des Arrays zum Stillstand. Ich habe diesen Code auf einem MacBook Pro -Laptop mit 32 GB Speicher geleitet, sodass für die Nachricht viel RAM zur Verfügung steht. Gibt es eine Grenze für die Größe eines Numpy -Arrays, das ich mit Zeromq senden kann? Wenn es ein Limit gibt, wie würde ich dann ein Array senden, das das Größenlimit überschreitet? pre class = "Lang-Py PrettyPrint-Override">[code]import sys import numpy as np import zmq
class Client: """Client for sending/receiving messages."""
if __name__ == "__main__": main() < /code> Servercode, der Numpy Array (Server.py) empfängt, < /p> from typing import Any import zmq import numpy as np
class Server: """Server for receiving/sending messages."""
def _recv_array(self): md: Any = self.socket.recv_json() # receive metadata msg: Any = self.socket.recv(copy=False) # receive NumPy array data array = np.frombuffer(msg, dtype=md["dtype"]) # reconstruct the NumPy array return array.reshape(md["shape"])
def run(self): """Run the server.""" while True: # Receive the NumPy array array = self._recv_array() print("Received array with shape:", array.shape) print(f"First three elements: {array[0, 0:3]}")
# Send a confirmation reply self.socket.send_string("Array received")
Ich entwickle einen FastAPI-WebSocket-Server, der mit Ray Serve bereitgestellt wird, um mehrere WebSocket-Verbindungen zu verwalten. Die Anwendung ist so konzipiert, dass sie eine...
Ich entwickle einen FastAPI-WebSocket-Server, der mit Ray Serve bereitgestellt wird, um mehrere WebSocket-Verbindungen zu verwalten. Die Anwendung ist so konzipiert, dass sie eine...
Ich entwickle einen Fastapi WebSocket -Server, der mit Ray Serve bereitgestellt wird, um mehrere WebSocket -Verbindungen zu bearbeiten. Die Anwendung ist so konzipiert, dass sie eine...
Ich versuche, eine Elementzusatzung zwischen einem 2D-Numpy-Array und einem 1D-Array (wie dem Hinzufügen eines Zeilenvektors zu jeder Zeile einer Matrix) durchzuführen, aber ich stoße auf einen...