Skip to content

Instantly share code, notes, and snippets.

@kemingy
Created October 15, 2020 11:44
Show Gist options
  • Save kemingy/362e5a3485e0a8004bf05ea26215eaee to your computer and use it in GitHub Desktop.
Save kemingy/362e5a3485e0a8004bf05ea26215eaee to your computer and use it in GitHub Desktop.
pyarrow IPC socket
import pyarrow as pa
from pyarrow import plasma
client = plasma.connect('/tmp/plasma')
print(client.list())
obj_id = plasma.ObjectID(bytes.fromhex('dd6af870914a3f6ac70cc7c30c6e4556d44c9376'))
[buf] = client.get_buffers([obj_id])
reader = pa.BufferReader(buf)
tensor = pa.ipc.read_tensor(reader)
array = tensor.to_numpy()
print(array)
print(client.list())
import numpy as np
import pyarrow as pa
from pyarrow import plasma
client = plasma.connect('/tmp/plasma')
def generate_id():
oid = plasma.ObjectID.from_random()
print(oid)
return oid
def generate_image():
return (np.random.rand(3, 1000, 1000) * 256).astype(np.uint8)
obj_id = generate_id()
data = generate_image()
print(data)
tensor = pa.Tensor.from_numpy(data)
buf = client.create(obj_id, pa.ipc.get_tensor_size(tensor))
stream = pa.FixedSizeBufferWriter(buf)
pa.ipc.write_tensor(tensor, stream)
client.seal(obj_id)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment