# My observation space cause: ValueError: maximum supported dimension for an ndarray is 32

**URL:** <https://discuss.ray.io/t/my-observation-space-cause-valueerror-maximum-supported-dimension-for-an-ndarray-is-32/12784>\
**Category:** Configure Algorithm, Training, Evaluation, Scaling\
**Created:** [November 10, 2023, 2:58pm UTC](https://discuss.ray.io/t/my-observation-space-cause-valueerror-maximum-supported-dimension-for-an-ndarray-is-32/12784 "2023-11-10T14:58:59Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![shilka](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ray.io/shilka/32/5325_2.png) [@shilka](https://discuss.ray.io/u/shilka)\
**Post date:** [November 10, 2023, 2:58pm UTC](https://discuss.ray.io/t/my-observation-space-cause-valueerror-maximum-supported-dimension-for-an-ndarray-is-32/12784/1 "2023-11-10T14:58:59Z")

</div>

I’m a newbie for both Ray and RL. The troublemaker is a member of my observation space(a dict). It’s a long MultiDiscrete space(length=52). The error occurred when Ray tried to convert that space to a tensor(I believe this is not a backend(torch) bug because tensorflow also meets the same problem).

I dived into the error point – part of the package **tree**. It seems that the error was raised by numpy.ndarray instantiation with raw data (ndarray(data)), but the correct way should be numpy.array(data). The array solution also has another defect that the nested data type will lose. In my situation, data is a list of tensors, but numpy.array(data) returns a common ndarray.

**Environment:**  
Archlinux x86\_64, Install all package with mamba(conda-forge) package:  
pytorch 2.1.0  
Ray 2.7.1  
tree 0.1.8

**StackTrace:**

> File “/home/shilka/miniforge3/envs/ray/lib/python3.9/site-packages/ray/rllib/utils/torch\_utils.py”, line 262, in convert\_to\_torch\_tensor  
> return tree.map\_structure(mapping, x)  
> File “/home/shilka/miniforge3/envs/ray/lib/python3.9/site-packages/tree/init.py”, line 434, in map\_structure  
> return unflatten\_as(structures[0],  
> File “/home/shilka/miniforge3/envs/ray/lib/python3.9/site-packages/tree/init.py”, line 380, in unflatten\_as  
> \_, packed = \_packed\_nest\_with\_indices(structure, flat\_sequence, 0)  
> File “/home/shilka/miniforge3/envs/ray/lib/python3.9/site-packages/tree/init.py”, line 314, in \_packed\_nest\_with\_indices  
> for s in \_yield\_value(structure):  
> File “/home/shilka/miniforge3/envs/ray/lib/python3.9/site-packages/tree/init.py”, line 132, in \_yield\_value  
> for \_, v in \_yield\_sorted\_items(iterable):  
> File “/home/shilka/miniforge3/envs/ray/lib/python3.9/site-packages/tree/init.py”, line 158, in \_yield\_sorted\_items  
> yield key, iterable[key]  
> File “/home/shilka/miniforge3/envs/ray/lib/python3.9/site-packages/ray/rllib/policy/sample\_batch.py”, line 932, in getitem  
> self.intercepted\_values[key] = self.get\_interceptor(value)  
> File “/home/shilka/miniforge3/envs/ray/lib/python3.9/site-packages/ray/rllib/utils/torch\_utils.py”, line 262, in convert\_to\_torch\_tensor  
> return tree.map\_structure(mapping, x)  
> File “/home/shilka/miniforge3/envs/ray/lib/python3.9/site-packages/tree/init.py”, line 434, in map\_structure  
> return unflatten\_as(structures[0],  
> File “/home/shilka/miniforge3/envs/ray/lib/python3.9/site-packages/tree/init.py”, line 380, in unflatten\_as  
> \_, packed = \_packed\_nest\_with\_indices(structure, flat\_sequence, 0)  
> File “/home/shilka/miniforge3/envs/ray/lib/python3.9/site-packages/tree/init.py”, line 317, in \_packed\_nest\_with\_indices  
> packed.append(\_sequence\_like(s, child))  
> File “/home/shilka/miniforge3/envs/ray/lib/python3.9/site-packages/tree/sequence.py”, line 111, in \_sequence\_like  
> return type(instance)(args)  
> ValueError: maximum supported dimension for an ndarray is 32, found 52

---

<div class="post-metadata">

**Author:** ![shilka](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ray.io/shilka/32/5325_2.png) [@shilka](https://discuss.ray.io/u/shilka)\
**Post date:** [November 14, 2023, 3:09am UTC](https://discuss.ray.io/t/my-observation-space-cause-valueerror-maximum-supported-dimension-for-an-ndarray-is-32/12784/2 "2023-11-14T03:09:50Z")

</div>

Could any body give me some suggestion? Many Thanks!
