Я использую библиотеку цепочки для своей модели и сталкиваюсь со следующей проблемой: скажем, у меня есть файл с тестовыми данными, имеющий 3 функции и метку (последний столбец) с ними. Он импортируется в виде списка. например
test_set = [[1,0,9,1],[7,0,8,1],[7,0,2,0],[8,0,1,0]]
Затем я беру метки, конвертируя данные в массив numpy и беря столбец меток, который позже преобразовываю в список для сравнения с предсказанными метками, например y_pred = [1,1,1,0]. т.е.
import numpy as np
y_true_np = list(np.array(test_set)[:,3])
print(y_true_np)
[1, 1, 0, 0]
Меня беспокоит то, что когда я запускаю свою модель на графическом процессоре, она использует Cuda.cupy вместо numpy, поскольку я использую библиотеку цепочки, и когда я получаю истинные метки, я получаю их как:
Там, в купи:
import cupy as cp
y_true_cp = list(cp.array(test_set)[:,3]) Or
y_true_cp = list(cuda.cp.array(test_set)[:,3])
Оба возвращают список массивов:
y_true_cp: [array(1), array(1), array(0), array(0)]
В качестве обходного пути я использую numpy в этом конкретном месте. Я что-то делаю неправильно при использовании Cupy, из-за чего я неправильно получаю значения?