diff --git a/data-gen/kubric/kubric/file_io.py b/data-gen/kubric/kubric/file_io.py index 789d7d6..1d491c9 100644 --- a/data-gen/kubric/kubric/file_io.py +++ b/data-gen/kubric/kubric/file_io.py @@ -74,7 +74,11 @@ class _NumpyEncoder(json.JSONEncoder): def default(self, o): if isinstance(o, np.ndarray): return o.tolist() - return json.JSONEncoder.default(self, o) + elif isinstance(o, (np.floating,)): + return float(o) + elif isinstance(o, (np.integer,)): + return int(o) + return super().default(o) def write_png(data: np.array, filename: PathLike) -> None: diff --git a/data-gen/kubric/kubric/renderer/blender.py b/data-gen/kubric/kubric/renderer/blender.py index a9b2e28..9570343 100644 --- a/data-gen/kubric/kubric/renderer/blender.py +++ b/data-gen/kubric/kubric/renderer/blender.py @@ -189,6 +189,7 @@ def use_gpu(self) -> bool: def use_gpu(self, value: bool): self.blender_scene.cycles.device = "GPU" if value else "CPU" if value: + bpy.context.preferences.addons["cycles"].preferences.compute_device_type = "CUDA" # or "OPTIX" # call get_devices() to let Blender detect GPU devices bpy.context.preferences.addons["cycles"].preferences.get_devices() devices_used = [d.name for d in bpy.context.preferences.addons["cycles"].preferences.devices