Я работаю над простой консольной утилитой nodejs, которая будет загружать изображения для обучения модели Custom Vision. Я делаю это в основном потому, что веб-приложение customvision не позволяет помечать сразу несколько изображений.
tl; dr: Как отправлять изображения в конечную точку CreateImagesFromFiles
API?
Я не могу понять, как передать изображения, которые я хочу загрузить. для документации просто определяет тип документации. одно из свойств (content
я думаю). Я попытался передать путь к локальному файлу, URL-адрес к онлайн-файлу и даже изображение в кодировке base64 в виде строки. Ничего не прошло.
У них есть тестовая консоль (синяя кнопка «Открыть консоль тестирования API» на странице связанных документов), но еще раз ... она расплывчата и не скажет вам, какие данные она на самом деле ожидает.
Код здесь не так актуален, но, возможно, он помогает ...
const options = {
host: 'southcentralus.api.cognitive.microsoft.com',
path: `/customvision/v2.0/Training/projects/${projectId}/images/files`,
method: 'POST',
headers: {
'Training-Key': trainingKey,
'Content-Type': 'application/json'
}
};
const data = {
images: [
{
name: 'xxx',
contents: 'iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAEklEQVR42mP8z8AARKiAkQaCAFxlCfyG/gCwAAAAAElFTkSuQmCC',
tagIds: [],
regions: []
}
],
tagIds: []
}
const req = http.request(options, res => {
...
})
req.write(JSON.stringify(data));
req.end();
Ответ:
BODY: { "statusCode": 404, "message": "Resource not found" }
No more data in response.