Игнорирование того факта, что применение to_categorical бессмысленно в моем сценарии. Следующее решает проблему с памятью:

я есть такой массив:

[[0. 1. 1. ... 0. 0. 1.]
 [0. 0. 0. ... 0. 0. 1.]
 [0. 0. 1. ... 0. 0. 0.]
 ...
 [0. 0. 0. ... 0. 0. 1.]
 [0. 0. 0. ... 0. 0. 1.]
 [0. 0. 0. ... 1. 0. 1.]]

Я преобразую это так, чтобы уменьшить потребность в памяти:

x_val = x_val.astype(np.int)

в результате чего:

[[0 1 1 ... 0 0 1]
 [0 0 0 ... 0 0 1]
 [0 0 1 ... 0 0 0]
 ...
 [0 0 0 ... 0 0 1]
 [0 0 0 ... 0 0 1]
 [0 0 0 ... 1 0 1]]

Тем не менее, когда я делаю это:

x_val = to_categorical(x_val)

Я получил:

in to_categorical
    categorical = np.zeros((n, num_classes), dtype=np.float32)
MemoryError

Есть идеи почему? В конечном счете, массив NumPy содержит метки для проблемы двоичной классификации. До сих пор я использовал его какfloat32 как и в Keras ANN, и он работал нормально, и я достиг довольно хорошей производительности. Так действительно ли нужно бежатьto_categorical?

Ответы на вопрос(2)

Ваш ответ на вопрос