После некоторых экспериментов выяснилось, что присваивание в виде:
Код: Выделить всё
import cupy as cp
A = cp.array([1, 2, 3])
B = cp.array([A[0], A[1], 3])
Код: Выделить всё
TypeError: Implicit conversion to a NumPy array is not allowed. Please use `.get()` to construct a NumPy array explicitly.
Код: Выделить всё
B = cp.array([A[0], A[1], A[2]])
Аналогично,
Код: Выделить всё
s = 2
c = 3
one = 1.0
B = cp.array([s, c, one])
Код: Выделить всё
s = cp.sin(2)
c = cp.cos(1)
one = 1.0
B = cp.array([s, c, one])
Этот пост, похоже, указывает на то, что cupy не поддерживает данные смешанного типа. Но с помощью предложенного метода мне пришлось бы написать CParray.get(), чтобы выполнить преобразование. Это метод cupy, а не numpy, поэтому будут создаваться новые ошибки, если этот внутренний модуль работает numpy.
Можно ли найти способ создания массивов, чтобы cp и np были взаимозаменяемыми?
Подробнее здесь: https://stackoverflow.com/questions/793 ... -variables
Мобильная версия