Я работаю над моделью семантической сегментации через U-net для классификации 11 категорий. После разделения данных изображения и метки на обучающие и тестовые массивы я преобразую эти массивы в целое число без знака 8, поэтому у меня есть
Код: Выделить всё
labels = labels.astype(np.uint8, copy=False)
Код: Выделить всё
array([[[[2],
[2],
[2],
...,
[9],
[9],
[9]]]], dtype=uint8)
Затем я использую to_categorical, чтобы преобразовать их в категориальные формы для Keras
Однако я понимаю
Код: Выделить всё
---> categorical = np.zeros((batch_size, num_classes))
MemoryError: Unable to allocate ___ GiB for an array with shape (_) and data type __
Более того, каждый раз, когда я повторно запускаю блок ячеек, я получаю другое значение либо для памяти, либо для формы, либо для типа данных. память иногда составляла 26 ГиБ, 1 ГиБ или даже 100 МБ, или форма была примерно такой (276824064, 13) или (100, 512, 512, 3). Тип данных будет float64, float32, uint8.
В чем может быть причина этих нестабильных ошибок и как это исправить?
Подробнее здесь:
https://stackoverflow.com/questions/798 ... ery-re-run