#tensorflow #tensorflow2.0 #tensorflow.js #google-vision #automl
#tensorflow #tensorflow2.0 #tensorflow.js #google-vision #automl
Вопрос:
** Я В КУРСЕ ПОДОБНЫХ ВОПРОСОВ!! **
Мой вопрос касается моей конкретной ситуации… Я использовал Google Vision, чтобы обучить свою собственную модель обнаруживать пользовательские объекты. Я сталкивался с подобными ошибками в форме в прошлом, и я исправил их, изменив форму моего входного изображения.
Эта конкретная ошибка говорит мне, что моя форма должна быть пустым массивом или пустой формой. Возможно ли это вообще? Если это не сбой, как мне его устранить?
Вот как я исправлял предыдущие ошибки в других проектах, когда он жаловался на форму. Это решение не работает для пустого массива / формы
const model = await autoML.loadObjectDetection('./model/model.json');
// const model = await tfjs.loadGraphModel('./model/model.json');
await tfjs.ready();
const tfImg = tfjs.browser.fromPixels(videoElement.current).expandDims(0);
const smallImg = await tfjs.image.resizeBilinear(tfImg, [224, 224]);
const resized = tfjs.cast(smallImg, 'float32');
const t4d = tfjs.tensor4d(Array.from(resized.dataSync()), [1, 224, 224, 3]);
const predictions = await modelRef.current.detect(tfImg, options);
Комментарии:
1. При преобразовании модели должна быть какая-то проблема, вызванная даже в model.json входной формой является «TensorShape»: {«dim»: [{«size»: «-1»}, {«size»: «-1»}, {«size»: «-1»}, {«size»: «size»: «3»}]}}} что не имеет смысла
2. Спасибо за разъяснение этого. Будучи новичком в этом, я не был уверен, что мое предположение было правильным. Кроме того, я замечаю символы или букву ‘d’ рядом со всеми моими метками в dict.txt . Кажется, что что-то обрабатывалось, когда истекли 3 часа обучения, и Google vision решил завершить обучение для моей модели. ДВАЖДЫ
3. Я бы предложил открыть эту проблему на странице github tensorflow.js или Google vision.
4. @DT пока ничего… Я свяжусь с командой automl vision в Google и посмотрю, есть ли у них решение.
5. У меня такая же проблема. Я подозреваю, что команда Vision выпустила обновление с ошибкой в нем. Из того, что я могу отладить, проблема связана с методом, с помощью которого вы загружаете model.json. Я использовал модель, обученную шаг за шагом из этой статьи . Тот же код ошибки, что и у вас. При загрузке модели с указанного URL указанной статьи это работает. При загрузке с относительного (или абсолютного) пути я получаю
must be []
ошибку. Пожалуйста, позвольте m
Ответ №1:
У меня была такая же проблема с моими моделями tfjs из Vision AI, когда я экспортировал их в модели tfjs и следовал этой статье для загрузки модели.
Обходной путь:
В качестве обходного пути я экспортировал модель из Vision AI в формат SavedModel и преобразовал ее в модель tfjs с помощью tensorflow_converter, следуя этому руководству. Результат может быть загружен как ожидалось и работает нормально.
Комментарии:
1. Мне придется попробовать. Из чистого любопытства. Какой загрузчик модели вы использовали в итоге? Загрузчик модели AutoML или один из двух загрузчиков модели tsjs? Один называется загрузчиком графов, а другой называется чем-то, что ускользает от меня в данный момент.
2. Я использовал
this.model = await automl.loadObjectDetection( "/models/mymodel/model.json" ); const predictions = await this.model.detect(this.imageObject);
3. Можете ли вы поделиться точными командами, которые вы выполнили для преобразования SavedModel в модель Tensorflowjs, совместимую с automl.loadObjectDetection?
4. При запуске
tensorflowjs_converter --input_format=tf_saved_model --output_format=tfjs_graph_model --signature_name=serving_default --saved_model_tags=serve /tmp /tmp
я получаю эту ошибкуValueError: Unsupported Ops in the model before optimization LookupTableFindV2, DecodeJpeg, HashTableV2
5. @user896993 Вы можете установить флаг: —skip_op_check=SKIP_OP_CHECK (или принять опцию в мастере)