Пример #1
0
  def test_convert_saved_model_skip_op_check(self):
    self.create_unsupported_saved_model()
    print(glob.glob(
        os.path.join(self._tmp_dir, SESSION_BUNDLE_MODEL_DIR, '*')))

    tf_saved_model_conversion_pb.convert_tf_saved_model(
        os.path.join(self._tmp_dir, SAVED_MODEL_DIR),
        'Softmax',
        os.path.join(self._tmp_dir, SAVED_MODEL_DIR), skip_op_check=True
    )

    weights = [{
        'paths': ['group1-shard1of1'],
        'weights': [{
            'shape': [2, 2, 2],
            'name': 'Softmax',
            'dtype': 'float32'
        }]
    }]
    # Load the saved weight manifest as a JSON string.
    weights_manifest = open(
        os.path.join(self._tmp_dir, SAVED_MODEL_DIR,
                     'weights_manifest.json'), 'rt')
    output_json = json.load(weights_manifest)
    weights_manifest.close()
    self.assertEqual(output_json, weights)

    # Check the content of the output directory.
    self.assertTrue(
        glob.glob(
            os.path.join(self._tmp_dir, SAVED_MODEL_DIR,
                         'tensorflowjs_model.pb')))
    self.assertTrue(
        glob.glob(
            os.path.join(self._tmp_dir, SAVED_MODEL_DIR, 'group*-*')))
def convert_to_tfjs(input_dir, output_dir):
    # Reference: https://github.com/tensorflow/tfjs-converter/blob/0.8.x/python/tensorflowjs/converters/converter.py
    output_node_names = "detection_boxes,detection_classes,detection_scores,num_detections"

    tf_saved_model_conversion_pb.convert_tf_saved_model(
        input_dir,
        output_node_names,
        output_dir,
        saved_model_tags='serve',
        quantization_dtype=None,
        skip_op_check=False,
        strip_debug_ops=True)
Пример #3
0
 def test_optimizer_add_unsupported_op(self):
     self.create_saved_model()
     print(glob.glob(os.path.join(self._tmp_dir, SAVED_MODEL_DIR, '*')))
     with self.assertRaisesRegexp(  # pylint: disable=deprecated-method
             ValueError, r'^Unsupported Ops'):
         node = tf.test.mock.Mock(op='unknown')
         graph = tf.test.mock.Mock(node=[node])
         with tf.test.mock.patch.object(tf_optimizer,
                                        'OptimizeGraph',
                                        return_value=graph):
             tf_saved_model_conversion_pb.convert_tf_saved_model(
                 os.path.join(self._tmp_dir, SAVED_MODEL_DIR), 'Softmax',
                 os.path.join(self._tmp_dir, SAVED_MODEL_DIR))
Пример #4
0
  def test_convert_saved_model_strip_debug_ops(self):
    self.create_saved_model_with_debug_ops()

    tf_saved_model_conversion_pb.convert_tf_saved_model(
        os.path.join(self._tmp_dir, SAVED_MODEL_DIR),
        'add',
        os.path.join(self._tmp_dir, SAVED_MODEL_DIR),
        strip_debug_ops=True)

    # Check the content of the output directory.
    self.assertTrue(
        glob.glob(
            os.path.join(self._tmp_dir, SAVED_MODEL_DIR,
                         'tensorflowjs_model.pb')))
    self.assertTrue(
        glob.glob(
            os.path.join(self._tmp_dir, SAVED_MODEL_DIR, 'group*-*')))