Я хочу преобразовать многоканальное изображение в формат массива и экспортировать его из Google Earth Engine в формате TFRecord.Число каналов не фиксировано, и поэтому я должен рассчитать его, а затем передать его переменное содержимое в функцию экспорта.
var patch_size = 37;
var NBands = ee.Number(image.bandNames().length()).getInfo();
Export.image.toCloudStorage({
image: image.toArray(),
description: outFileName,
bucket: 'landsat',
scale: scale,
region: geometry,
fileFormat: 'TFRecord',
formatOptions: {
patchDimensions: [patch_size, patch_size],
tensorDepths: [NBands],
compressed: true
}
});
Код работает без ошибок, но я получаю только 2KB выходной файл .gz, которыйочевидно, неправильно, и когда я пытаюсь прочитать его, я получаю ошибку синтаксического анализатора.Если я подставлю фиксированное значение для NBands, оно будет работать хорошо, но мне нужно, чтобы оно было переменным, а не фиксированным.Как это сделать?