Я хочу хранить прогнозы CNN в bcolz carray. Маски предсказания являются массивами фигуры (15, 33216, 5056). Команда, которую я использовал раньше для инициации карри, была:
bcolz.carray(np.zeros((0, 15, 33216, 5056), dtype=prediction_array_dtype), mode="w")
Тогда позже я добавляю каждый массив предсказаний к кадру.
Впервые я столкнулся со следующей ошибкой при инициализации каретки таким образом:
"ValueError: недопустимая форма в кортеже фиксированного типа: размер dtype в байтах
должен вписываться в C int. "
Я не совсем уверен, что это значит или что я могу с этим поделать.
Я попробовал одну альтернативу:
bcolz.carray(np.zeros((0,), dtype=np.ndarray), mode="w")
Тогда я также могу добавить каждый массив предсказаний к кадру. Все же маски хранятся по-разному. Если бы я получил первый элемент из такой корзины, он бы имел форму (33216, 5056) вместо (15, 33216, 5056). Хотя мой обычный способ сделать это кажется мне более интуитивным, я на самом деле понятия не имею, должен ли я отдавать предпочтение одному над другим (и почему именно моя попытка выше не удалась, а другая удалась).
Подводя итог, мои вопросы явно:
- что означает ошибка?
- Как мне избежать этой ошибки?
- Является ли один из двух упомянутых мною способов инициализации предпочтительнее другого? Почему?