diff --git a/lib/python/ray/serialization.py b/lib/python/ray/serialization.py index e22bf6604..8b99cdacd 100644 --- a/lib/python/ray/serialization.py +++ b/lib/python/ray/serialization.py @@ -47,6 +47,9 @@ def from_primitive(primitive_obj): obj.deserialize(primitive_obj[1]) return obj +def is_arrow_serializable(value): + return type(value) == np.ndarray and value.dtype.name in ["int8", "int16", "int32", "int64", "uint8", "uint16", "uint32", "uint64", "float32", "float64"] + def serialize(worker_capsule, obj): primitive_obj = to_primitive(obj) obj_capsule, contained_objrefs = ray.lib.serialize_object(worker_capsule, primitive_obj) # contained_objrefs is a list of the objrefs contained in obj diff --git a/lib/python/ray/worker.py b/lib/python/ray/worker.py index 50f98aa3a..db3522d58 100644 --- a/lib/python/ray/worker.py +++ b/lib/python/ray/worker.py @@ -6,7 +6,6 @@ from types import ModuleType import typing import funcsigs import numpy as np -import pynumbuf import colorama import ray @@ -46,7 +45,7 @@ class Worker(object): def put_object(self, objref, value): """Put `value` in the local object store with objref `objref`. This assumes that the value for `objref` has not yet been placed in the local object store.""" - if pynumbuf.serializable(value): + if serialization.is_arrow_serializable(value): ray.lib.put_arrow(self.handle, objref, value) else: object_capsule, contained_objrefs = serialization.serialize(self.handle, value) # contained_objrefs is a list of the objrefs contained in object_capsule diff --git a/setup.sh b/setup.sh index 3979a1a75..917b8e09c 100755 --- a/setup.sh +++ b/setup.sh @@ -41,9 +41,4 @@ fi pushd "$ROOT_DIR/thirdparty" ./download_thirdparty.sh ./build_thirdparty.sh - pushd numbuf - pushd python - sudo python setup.py install - popd - popd popd