Определяет, является ли изображение файлом BMP, GIF, JPEG или PNG, и выполняет соответствующую операцию для преобразования входных байтов string в Tensor типа dtype.
Примечание:decode_gif возвращает 4-мерный массив [num_frames, height, width, 3], в отличие от decode_bmp, decode_jpeg и decode_png, которые возвращают 3-мерные массивы [height, width, num_channels]. Учитывайте это при построении графа, если смешиваете файлы GIF с файлами BMP, JPEG и/или PNG. В качестве альтернативы задайте аргумент expand_animations этой функции равным False; в этом случае операция вернет 3-мерные тензоры и усечет анимированные GIF-файлы до первого кадра.
Примечание: Если первый кадр анимированного GIF-файла не занимает весь холст (максимальная ширина кадра × максимальная высота кадра), незанятые области (в первом кадре) заполняются нулями (черным цветом). Для кадров после первого, которые не занимают весь холст, незанятые области заполняются предыдущим кадром.
Аргументы
contents
string типа Tensor. 0-мерный тензор. Закодированные байты изображения.
channels
Необязательный int. По умолчанию — 0. Количество цветовых каналов декодированного изображения.
dtype
Требуемый DType возвращаемого Tensor.
name
Имя операции (необязательно)
expand_animations
Необязательный bool. По умолчанию — True. Управляет формой выходных данных возвращаемой операции. Если True, возвращаемая операция создает 3-мерный тензор для файлов PNG, JPEG и BMP и 4-мерный тензор для всех GIF-файлов, анимированных или нет. Если False, возвращаемая операция создает 3-мерный тензор для файлов всех типов и усечет анимированные GIF-файлы до первого кадра.
Возвращает
Tensor типа dtype и с 3- или 4-мерной формой в зависимости от типа файла и значения параметра expand_animations.