Models: Export Inference Model Error

Created on 22 Sep 2017  路  3Comments  路  Source: tensorflow/models

After training the pet model in according to the directions here and here, specifically training on a local machine, I tried to export my model. This is where I seem to be running into issues. After running the command

python export_inference_graph.py \
    --input_type image_tensor \
    --pipeline_config_path ssd_mobilenet_v1_pets.config
    --trained_checkout_prefix data/model.ckpt
    --output_directory output_inference_graph.pb

I run into the follow

2017-09-22 08:59:26.159018: I tensorflow/core/common_runtime/gpu/gpu_device.cc:955] Found device 0 with properties: 
name: GeForce GTX TITAN X
major: 5 minor: 2 memoryClockRate (GHz) 1.2405
pciBusID 0000:03:00.0
Total memory: 11.92GiB
Free memory: 11.81GiB
2017-09-22 08:59:26.159073: I tensorflow/core/common_runtime/gpu/gpu_device.cc:976] DMA: 0 
2017-09-22 08:59:26.159083: I tensorflow/core/common_runtime/gpu/gpu_device.cc:986] 0:   Y 
2017-09-22 08:59:26.159096: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX TITAN X, pci bus id: 0000:03:00.0)
2017-09-22 08:59:27.246947: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.250254: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.250456: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.254837: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.255132: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.255752: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.257124: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.257963: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.259200: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.260032: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.260870: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.261117: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.264178: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.264817: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.264883: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.265083: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.265378: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.265646: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.265724: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.266107: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.266684: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
2017-09-22 08:59:27.267486: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]
Traceback (most recent call last):
  File "/home/frank/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1327, in _do_call
    return fn(*args)
  File "/home/frank/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1306, in _run_fn
    status, run_metadata)
  File "/home/frank/anaconda3/lib/python3.6/contextlib.py", line 89, in __exit__
    next(self.gen)
  File "/home/frank/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py", line 466, in raise_exception_on_not_ok_status
    pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "export_inference_graph.py", line 106, in <module>
    tf.app.run()
  File "/home/frank/anaconda3/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 48, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "export_inference_graph.py", line 102, in main
    FLAGS.output_directory)
  File "/home/frank/tensorflow/models/research/object_detection/exporter.py", line 376, in export_inference_graph
    optimize_graph, output_collection_name)
  File "/home/frank/tensorflow/models/research/object_detection/exporter.py", line 336, in _export_inference_graph
    trained_checkpoint_prefix=trained_checkpoint_prefix)
  File "/home/frank/tensorflow/models/research/object_detection/exporter.py", line 295, in _write_graph_and_checkpoint
    saver.restore(sess, trained_checkpoint_prefix)
  File "/home/frank/anaconda3/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 1560, in restore
    {self.saver_def.filename_tensor_name: save_path})
  File "/home/frank/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 895, in run
    run_metadata_ptr)
  File "/home/frank/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1124, in _run
    feed_dict_tensor, options, run_metadata)
  File "/home/frank/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1321, in _do_run
    options, run_metadata)
  File "/home/frank/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1340, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]

Caused by op 'save/Assign_10', defined at:
  File "export_inference_graph.py", line 106, in <module>
    tf.app.run()
  File "/home/frank/anaconda3/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 48, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "export_inference_graph.py", line 102, in main
    FLAGS.output_directory)
  File "/home/frank/tensorflow/models/research/object_detection/exporter.py", line 376, in export_inference_graph
    optimize_graph, output_collection_name)
  File "/home/frank/tensorflow/models/research/object_detection/exporter.py", line 336, in _export_inference_graph
    trained_checkpoint_prefix=trained_checkpoint_prefix)
  File "/home/frank/tensorflow/models/research/object_detection/exporter.py", line 291, in _write_graph_and_checkpoint
    tf.import_graph_def(inference_graph_def, name='')
  File "/home/frank/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/importer.py", line 313, in import_graph_def
    op_def=op_def)
  File "/home/frank/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 2630, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/home/frank/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1204, in __init__
    self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access

InvalidArgumentError (see above for traceback): Assign requires shapes of both tensors to match. lhs shape= [228] rhs shape= [546]
     [[Node: save/Assign_10 = Assign[T=DT_FLOAT, _class=["loc:@BoxPredictor_2/ClassPredictor/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](BoxPredictor_2/ClassPredictor/biases, save/RestoreV2_10/_25)]]

Please let me know if you need anything else!

Thanks!

awaiting model gardener

Most helpful comment

I am having the same issue :/

All 3 comments

I am having the same issue :/

@tombstone can you comment on this?

Hi There,
We are checking to see if you still need help on this, as this seems to be considerably old issue. Please update this issue with the latest information, code snippet to reproduce your issue and error you are seeing.
If we don't hear from you in the next 7 days, this issue will be closed automatically. If you don't need help on this issue any more, please consider closing this.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

rakashi picture rakashi  路  3Comments

kamal4493 picture kamal4493  路  3Comments

licaoyuan123 picture licaoyuan123  路  3Comments

Mostafaghelich picture Mostafaghelich  路  3Comments

nmfisher picture nmfisher  路  3Comments