TypeError: аргумент 'x' имеет неправильный тип (ожидался cupy.core.core.ndarray, получил numpy.ndarray)

Выполнение следующего минимального примера в cupy.

import numpy, cupy, cupyx

print( cupyx.get_runtime_info() )

mydata = numpy.empty((3,), dtype='f')

#gpu = False
gpu = True
if not gpu:
    xp = numpy
else:
    xp = cupy

    mydata_like = xp.zeros_like(mydata)

следующим образом

(venv) user@ailx216:/work/sandbox$ CUDA_PATH=/usr/local/cuda-9.1 python cupy_test.py

Выдает мне эту ошибку:

  File "chainer_test.py", line 14, in <module>
    mydata_like = xp.zeros_like(mydata)
/cupy/creation/basic.py", line 205, in zeros_like
    order, strides, memptr = _new_like_order_and_strides(a, dtype, order)
/cupy/creation/basic.py", line 35, in _new_like_order_and_strides
    order = chr(_update_order_char(a, ord(order)))
TypeError: Argument 'x' has incorrect type (expected cupy.core.core.ndarray, got numpy.ndarray)

Вывод print (cupyx.get_runtime_info ()) выглядит следующим образом:

CuPy Version          : 6.2.0
CUDA Root             : /usr/local/cuda-9.1/
CUDA Build Version    : 9010
CUDA Driver Version   : 10000
CUDA Runtime Version  : 9010
cuDNN Build Version   : 7102
cuDNN Version         : 7102
NCCL Build Version    : 2115
NCCL Runtime Version  : (unknown)

Как я могу это отладить?


person nav    schedule 02.08.2019    source источник


Ответы (1)


В моем исходном сообщении была глупая ошибка. Вот минимальный тест Cupy, который мне подходит. Спасибо за вашу помощь.

import numpy, cupy, cupyx

print( cupyx.get_runtime_info() )


gpu = True
if not gpu:
    xp = numpy
else:
    xp = cupy

mydata = xp.empty((3,), dtype='f')    
mydata_like = xp.zeros_like(mydata)
person nav    schedule 05.08.2019