Ciao a tutti, ho pensato di usare il meccanismo del tcp-server - client per caricare una sola volta dei modelli piuttosto pesanti, per poi eseguire alcune operazioni di estrazione ed elaborazione. Se non si facesse così infatti, dovrei caricare questi modelli (2 minuti e mezzo) ogni volta che uso le funzioni di estrazione ed elaborazione.
Nel libro "Python CookBook 3rd Edition" a pagina 481, c'è il paragrafo: "Sending and Receiving Large Arrays": "You want to send and receive large arrays of contiguous data across a network connection, making as few copies of the data as possible." la soluzione proposta prevede questo "trucco": view = memoryview(arr).cast('B') che assegna l'array in una "memoryview" di unsigned bytes. Ho provato a testare, per capirle ed adattarle a quello che serve a me, le funzioni proposte che usano il casting di memoryview. Ma mi dice: File "zerocopy.py", line 4, in send_from view = memoryview(arr).cast('B') AttributeError: 'memoryview' object has no attribute 'cast' e sembrerebbe che in python 2.X non ci sia l'attribute 'cast' per il memoryview: https://docs.python.org/2/library/stdtypes.html#typememoryview Avete qualche idea su come possa ovviare a questo inconveniente? Vi ringrazio per tutti gli hints. Marco PS: ho provato ad usare il built-in socket: https://docs.python.org/2/library/socket.html?highlight=socket#module-socket ma ho visto che i dati sono inviati e ricevuti in formato string, formato che è molto difficile ri-trasformare in array numpy _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python