Использование разреженного массива для представления меток при обучении модели Keras - PullRequest
1 голос
/ 28 июня 2019

Я строю модель Keras для классификации данных по 3000 различным классам, мои данные обучения состоят из большого количества выборок, поэтому после кодирования результата обучения в одном горячем кодировании эти данные очень большие (item_count *3000* размер float + размер входных данных) Возможно ли передавать разреженные массивы в кераты в качестве вывода обучающих данных, какое-либо предлагаемое решение?

1 Ответ

1 голос
/ 28 июня 2019

Вы можете использовать разреженное представление ваших основных истин, используя функцию потери sparse_categorical_crossentropy.

# assuming get_model() returns your Keras model with an output_shape == [None, 3000]
# assuming get_data() returns training data, with y_train having shape == [num_samples]

x_train, y_train = get_data()
model = get_model()
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train, epochs=10, batch_size=16)
...