首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cupy map_coordinates给出形状不匹配错误

cupy map_coordinates给出形状不匹配错误
EN

Stack Overflow用户
提问于 2019-07-30 04:43:24
回答 1查看 476关注 0票数 0

我正在尝试使用cupyscipy兼容函数,即map_coordinates函数。然而,经过大量的修补后,我无法让它工作。因此,我做了如下操作:

代码语言:javascript
复制
import cupy as cp
import cupyx
import cupyx.scipy.ndimage
import numpy as np

# Generate some random data
x = np.random.rand(10, 10, 10)
# Move it to the GPU
x = cp.array(x)

# Generate some coordinates
d = [cp.array(np.random.rand(10, 10, 10)), 
     cp.array(np.random.rand(10, 10, 10)), 
     cp.array(np.random.rand(10, 10, 10))]

d = cp.stack(d)

print(d.shape)   # (3, 10, 10, 10)

cupyx.scipy.ndimage.map_coordinates(x, d, cp.float32, order=1, 
                                    mode='constant', cval=0) 

现在,这将返回错误:ValueError: Out shape is mismatched

我现在不确定为什么会这样,因为输出应该由函数本身生成。坐标是正确的4D形状,想想看。我真的不知所措,不知道该怎么做。不幸的是,我在网上也找不到任何这样的工作例子。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-30 09:45:47

它看起来像是CuPy (v6和v7 beta2)的错误。我提交了一份issue只有当输出有多个轴时,它才会失败,因此在修复错误之前,可以通过展平除第一个轴之外的坐标数组来解决此错误,例如:

代码语言:javascript
复制
cupyx.scipy.ndimage.map_coordinates(
    x, d.reshape(len(d), -1), order=1, mode='constant', cval=0
).reshape(d.shape[1:])
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57261136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档