WedX - журнал о программировании и компьютерных науках

tf.parse_example.features для классификации фотографий с несколькими метками

Я пытаюсь применить код руководства из cloudml-samples/flowers/ к набору фотографий с несколькими ярлыками. Среда — Google Cloud Shell. «предварительно обработал» весь обучающий и оценочный набор. Возникла ошибка при запуске обучающей задачи.

Я вызвал train.task через python и вернул приведенные ниже сообщения об ошибках. Пожалуйста, дайте мне знать, если информация журнала (только некоторая общая информация) с помощью команды gcloud beta ml или что-либо еще будет полезно.

Заранее спасибо за внимание.

python -m trainer.task \
    --output_path gs://yelp_restaurant_photo_classification/yelp_restaurant_photo_classification/training \
    --eval_data_paths gs://yelp_restaurant_photo_classification/yelp_restaurant_photo_classification/preproc/eval* \
    --train_data_paths gs://yelp_restaurant_photo_classification/yelp_restaurant_photo_classification/preproc/train*

INFO:root:Original job data: {}
INFO:root:setting eval batch size to 100
INFO:tensorflow:global_step/sec: 0
INFO:tensorflow:global_step/sec: 0
W tensorflow/core/framework/op_kernel.cc:968] Invalid argument: Name: <unknown>, Key: label, Index: 0.  Number of int64 values != expected.  Values size: 5 but output shape: [1]
INFO:tensorflow:Error reported to Coordinator: <class 'tensorflow.python.framework.errors.InvalidArgumentError'>, Name: <unknown>, Key: label, Index: 0.  Number of int64 values != expected.  Values size: 5 but output shape: [1]
         [[Node: inputs/ParseExample/ParseExample = ParseExample[Ndense=3, Nsparse=0, Tdense=[DT_FLOAT, DT_STRING, DT_INT64], dense_shapes=[[2048], [], [1]], sparse_types=[], _device="/job:localhost/replica:0/task:0/cpu:0"](shuffle_batch:1, inputs/ParseExample/ParseExample/names, inputs/ParseExample/ParseExample/dense_keys_0, inputs/ParseExample/ParseExample/dense_keys_1, inputs/ParseExample/ParseExample/dense_keys_2, inputs/ParseExample/Const, inputs/ParseExample/Reshape, inputs/ParseExample/Reshape_1)]]

Caused by op u'inputs/ParseExample/ParseExample', defined at:
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 559, in <module>
    tf.app.run()
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 30, in run
    sys.exit(main(sys.argv[:1] + flags_passthrough))
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 322, in main
    run(model, argv)
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 453, in run
    dispatch(args, model, cluster, task)
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 494, in dispatch
    Trainer(args, model, cluster, task).run_training()
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 193, in run_training
    self.args.batch_size)
  File "trainer/model.py", line 278, in build_train_graph
    return self.build_graph(data_paths, batch_size, GraphMod.TRAIN)
  File "trainer/model.py", line 232, in build_graph
    parsed = tf.parse_example(tensors.examples, features=feature_map)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/ops/parsing_ops.py", line 307, in parse_example
    dense_types, dense_defaults, dense_shapes, name)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/ops/parsing_ops.py", line 405, in _parse_example_raw
    name=name)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/ops/gen_parsing_ops.py", line 165, in _parse_example
    dense_shapes=dense_shapes, name=name)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 749, in apply_op
    op_def=op_def)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2380, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1298, in __init__
    self._traceback = _extract_stack()

InvalidArgumentError (see above for traceback): Name: <unknown>, Key: label, Index: 0.  Number of int64 values != expected.  Values size: 5 but output shape: [1]
         [[Node: inputs/ParseExample/ParseExample = ParseExample[Ndense=3, Nsparse=0, Tdense=[DT_FLOAT, DT_STRING, DT_INT64], dense_shapes=[[2048], [], [1]], sparse_types=[], _device="/job:localhost/replica:0/task:0/cpu:0"](shuffle_batch:1, inputs/ParseExample/ParseExample/names, inputs/ParseExample/ParseExample/dense_keys_0, inputs/ParseExample/ParseExample/dense_keys_1, inputs/ParseExample/ParseExample/dense_keys_2, inputs/ParseExample/Const, inputs/ParseExample/Reshape, inputs/ParseExample/Reshape_1)]]

INFO:tensorflow:Error reported to Coordinator: <class 'tensorflow.python.framework.errors.InvalidArgumentError'>, Name: <unknown>, Key: label, Index: 0.  Number of int64 values != expected.  Values size: 5 but output shape: [1]
         [[Node: inputs/ParseExample/ParseExample = ParseExample[Ndense=3, Nsparse=0, Tdense=[DT_FLOAT, DT_STRING, DT_INT64], dense_shapes=[[2048], [], [1]], sparse_types=[], _device="/job:localhost/replica:0/task:0/cpu:0"](shuffle_batch:1, inputs/ParseExample/ParseExample/names, inputs/ParseExample/ParseExample/dense_keys_0, inputs/ParseExample/ParseExample/dense_keys_1, inputs/ParseExample/ParseExample/dense_keys_2, inputs/ParseExample/Const, inputs/ParseExample/Reshape, inputs/ParseExample/Reshape_1)]]

Caused by op u'inputs/ParseExample/ParseExample', defined at:
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 559, in <module>
    tf.app.run()
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 30, in run
    sys.exit(main(sys.argv[:1] + flags_passthrough))
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 322, in main
    run(model, argv)
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 453, in run
    dispatch(args, model, cluster, task)
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 494, in dispatch
    Trainer(args, model, cluster, task).run_training()
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 193, in run_training
    self.args.batch_size)
  File "trainer/model.py", line 278, in build_train_graph
    return self.build_graph(data_paths, batch_size, GraphMod.TRAIN)
  File "trainer/model.py", line 232, in build_graph
    parsed = tf.parse_example(tensors.examples, features=feature_map)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/ops/parsing_ops.py", line 307, in parse_example
    dense_types, dense_defaults, dense_shapes, name)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/ops/parsing_ops.py", line 405, in _parse_example_raw
    name=name)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/ops/gen_parsing_ops.py", line 165, in _parse_example
    dense_shapes=dense_shapes, name=name)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 749, in apply_op
    op_def=op_def)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2380, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1298, in __init__
    self._traceback = _extract_stack()

InvalidArgumentError (see above for traceback): Name: <unknown>, Key: label, Index: 0.  Number of int64 values != expected.  Values size: 5 but output shape: [1]
         [[Node: inputs/ParseExample/ParseExample = ParseExample[Ndense=3, Nsparse=0, Tdense=[DT_FLOAT, DT_STRING, DT_INT64], dense_shapes=[[2048], [], [1]], sparse_types=[], _device="/job:localhost/replica:0/task:0/cpu:0"](shuffle_batch:1, inputs/ParseExample/ParseExample/names, inputs/ParseExample/ParseExample/dense_keys_0, inputs/ParseExample/ParseExample/dense_keys_1, inputs/ParseExample/ParseExample/dense_keys_2, inputs/ParseExample/Const, inputs/ParseExample/Reshape, inputs/ParseExample/Reshape_1)]]

Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 559, in <module>
    tf.app.run()
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 30, in run
    sys.exit(main(sys.argv[:1] + flags_passthrough))
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 322, in main
    run(model, argv)
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 453, in run
    dispatch(args, model, cluster, task)
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 494, in dispatch
    Trainer(args, model, cluster, task).run_training()
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 245, in run_training
    self.global_step = session.run(to_run)[0]
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 717, in run
    run_metadata_ptr)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 915, in _run
    feed_dict_string, options, run_metadata)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 965, in _do_run
    target_list, options, run_metadata)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 985, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors.InvalidArgumentError: Name: <unknown>, Key: label, Index: 0.  Number of int64 values != expected.  Values size: 5 but output shape: [1]
         [[Node: inputs/ParseExample/ParseExample = ParseExample[Ndense=3, Nsparse=0, Tdense=[DT_FLOAT, DT_STRING, DT_INT64], dense_shapes=[[2048], [], [1]], sparse_types=[], _device="/job:localhost/replica:0/task:0/cpu:0"](shuffle_batch:1, inputs/ParseExample/ParseExample/names, inputs/ParseExample/ParseExample/dense_keys_0, inputs/ParseExample/ParseExample/dense_keys_1, inputs/ParseExample/ParseExample/dense_keys_2, inputs/ParseExample/Const, inputs/ParseExample/Reshape, inputs/ParseExample/Reshape_1)]]

Caused by op u'inputs/ParseExample/ParseExample', defined at:
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 559, in <module>
    tf.app.run()
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 30, in run
    sys.exit(main(sys.argv[:1] + flags_passthrough))
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 322, in main
    run(model, argv)
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 453, in run
    dispatch(args, model, cluster, task)
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 494, in dispatch
    Trainer(args, model, cluster, task).run_training()
  File "/home/slalomconsultingsf/git/cloudml-samples/yelp_restaurant_photo_classification/trainer/task.py", line 193, in run_training
INFO:tensorflow:Error reported to Coordinator: <class 'tensorflow.python.framework.errors.InvalidArgumentError'>, Name: <unknown>, Key: label, Index:
    self.args.batch_size)
  File "trainer/model.py", line 278, in build_train_graph
    return self.build_graph(data_paths, batch_size, GraphMod.TRAIN)
  File "trainer/model.py", line 232, in build_graph
    parsed = tf.parse_example(tensors.examples, features=feature_map)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/ops/parsing_ops.py", line 307, in parse_example
    dense_types, dense_defaults, dense_shapes, name)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/ops/parsing_ops.py", line 405, in _parse_example_raw
    name=name)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/ops/gen_parsing_ops.py", line 165, in _parse_example
    dense_shapes=dense_shapes, name=name)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 749, in apply_op
    op_def=op_def)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2380, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/home/slalomconsultingsf/.local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1298, in __init__
    self._traceback = _extract_stack()
InvalidArgumentError (see above for traceback): Name: <unknown>, Key: label, Index: 0.  Number of int64 values != expected.  Values size: 5 but outpu
t shape: [1]
         [[Node: inputs/ParseExample/ParseExample = ParseExample[Ndense=3, Nsparse=0, Tdense=[DT_FLOAT, DT_STRING, DT_INT64], dense_shapes=[[2048], [
], [1]], sparse_types=[], _device="/job:localhost/replica:0/task:0/cpu:0"](shuffle_batch:1, inputs/ParseExample/ParseExample/names, inputs/ParseExamp
le/ParseExample/dense_keys_0, inputs/ParseExample/ParseExample/dense_keys_1, inputs/ParseExample/ParseExample/dense_keys_2, inputs/ParseExample/Const
, inputs/ParseExample/Reshape, inputs/ParseExample/Reshape_1)]]

Ответы:


1

Образец цветов напрямую не поддерживает классификацию по нескольким меткам. Точная проблема в вашем коде, я считаю, связана с shape=[1] в model.py.

Увы, подключение примеров с несколькими метками не будет работать из коробки с этим кодом, который был разработан как хороший пример того, как начать работу со сложным рабочим процессом (например, восстановление с контрольных точек, перенос обучения, встраивание в поток данных и т. д.). , больше, чем изображение, моделирующее швейцарский армейский нож.

Должно быть всего несколько строк, которые вам нужно будет внести в model.py, чтобы ваш пример с несколькими метками заработал. Кроме того, я уверен, что другие члены сообщества будут очень признательны за любой ваш прогресс, поэтому рассмотрите возможность создания pull request, если вы получите образец, который решает проблемы как с несколькими, так и с одним ярлыком!

06.02.2017
Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]