Например, при выполнении семантической сегментации с U-Net представляется обычной практикой предоставлять данные метки в виде тензоров с горячим кодированием. В другом вопросе SO пользователь указал, что это связано с метками, обычно представляющими категориальные значения.Подача их в сеть в виде меток классов только в одном слое (в виде значений интенсивности оттенков серого) создаст трудности.
В другом сообщении в блоге однако автор объясняет, что ярлыки
"[...] иногда [получают] упаковывают как изображения в оттенках серого, гдеИнтенсивность пикселей представляет идентификатор класса [...]. С этим методом проще всего работать. Он позволяет использовать файл небольшого размера для распространения и представления [...] одного горячего вектора [используют] больше памяти, чем [формат кодировки оттенков серого]. "
Мое оборудование очень ограничено, и я надеюсь, что кодирование меток в виде однослойных тензоров серого, а не n-слоев (n - это число классов длясегмент), приведет к снижению использования памяти.Однако автор блога затем заявляет:
«Даже если используемая вами среда глубокого обучения принимает данные меток в качестве идентификаторов классов, как в [формате серой шкалы], они преобразуют эти данныек горячему кодированию за кулисами. "
Означает ли это, что не было бы никакой экономии памяти в конце концов?
Если это того стоит, как бы яперейти к реализации этого в читателе наборов данных?Я также не сталкивался с какой-либо реализацией, где фактически применялась маркировка в оттенках серого.Поэтому я также был бы благодарен за любые ссылки на реализации, которые использовали метки серого для семантической сегментации!
Я работаю с PyTorch, и мой код основан на этой реализации , сРазница в том, что у меня есть 3 класса для сегментирования.
Любые предложения / ссылки приветствуются!