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)
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))
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*-*')))