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 verwende NetMQ, Zeromqs C# -Bibliothek und ich habe sie wie folgt implementiert. Wissen Sie, wie man diese Situation löst und warum ich nicht mit mehreren Threads in einer Socket in Zeromq...
Ich wollte einen Socket zwischen einem C# und einer Python -Anwendung erstellen, und Zeromq schien dafür eine gute Implementierung zu sein. Ich möchte data bidirektionale und nicht blockierende Daten...
Ich bin ein neuer Python-Lerner und habe Numpy verwendet, um eine Reihe gefälschter Informationen zu filtern, die in formatiert sind. Ich habe versucht, eine Möglichkeit zu finden, das Array zu...
Mein Ansatz bestand darin, zuerst das Array mit dem Namen nums in eine Menge umzuwandeln, weil ich die Eindeutigkeit des Elements haben möchte, dann die Elemente zu entfernen, die ich in der Menge...