-
-
Notifications
You must be signed in to change notification settings - Fork 568
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
U^2-Net bugfixed, tflite,coreml,tfjs,tftrt
- Loading branch information
Showing
6 changed files
with
81 additions
and
990 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
### tensorflow==2.3.1 | ||
|
||
import tensorflow as tf | ||
import numpy as np | ||
import sys | ||
import tensorflow_datasets as tfds | ||
|
||
def representative_dataset_gen(): | ||
for data in raw_test_data.take(10): | ||
image = data['image'].numpy() | ||
image = tf.image.resize(image, (height, width)) | ||
image = image[np.newaxis,:,:,:] | ||
image = image / 127.5 - 1.0 | ||
yield [image] | ||
|
||
raw_test_data, info = tfds.load(name="coco/2017", with_info=True, split="test", data_dir="~/TFDS", download=False) | ||
|
||
height = 480 | ||
width = 640 | ||
|
||
# Integer Quantization - Input/Output=float32 | ||
converter = tf.lite.TFLiteConverter.from_saved_model('saved_model_{}x{}'.format(height, width)) | ||
converter.optimizations = [tf.lite.Optimize.DEFAULT] | ||
converter.representative_dataset = representative_dataset_gen | ||
tflite_quant_model = converter.convert() | ||
with open('u2netp_{}x{}_integer_quant.tflite'.format(height, width), 'wb') as w: | ||
w.write(tflite_quant_model) | ||
print('Integer Quantization complete! - u2netp_{}x{}_integer_quant.tflite'.format(height, width)) | ||
|
||
|
||
# # Full Integer Quantization - Input/Output=int8 | ||
# converter = tf.lite.TFLiteConverter.from_saved_model('saved_model_{}x{}'.format(height, width)) | ||
# converter.optimizations = [tf.lite.Optimize.DEFAULT] | ||
# converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8] | ||
# converter.inference_input_type = tf.uint8 | ||
# converter.inference_output_type = tf.uint8 | ||
# converter.representative_dataset = representative_dataset_gen | ||
# tflite_quant_model = converter.convert() | ||
# with open('u2netp_{}x{}_full_integer_quant.tflite'.format(height, width), 'wb') as w: | ||
# w.write(tflite_quant_model) | ||
# print('Integer Quantization complete! - u2netp_{}x{}_full_integer_quant.tflite'.format(height, width)) | ||
|
||
# # EdgeTPU | ||
# import subprocess | ||
# result = subprocess.check_output(["edgetpu_compiler", "-s", "u2netp_{}x{}_full_integer_quant.tflite".format(height, width)]) | ||
# print(result) |
35 changes: 35 additions & 0 deletions
35
061_U-2-Net/01_float32/04_u2net_bin2h5_weight_float16_quant.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
#!/bin/bash | ||
|
||
pip3 install openvino2tensorflow --upgrade | ||
|
||
openvino2tensorflow \ | ||
--model_path openvino/256x256/FP32/u2netp_256x256.xml \ | ||
--model_output_path saved_model_256x256 \ | ||
--output_saved_model True \ | ||
--output_h5 True \ | ||
--output_pb True \ | ||
--output_no_quant_float32_tflite True \ | ||
--output_weight_quant_tflite True \ | ||
--output_float16_quant_tflite True | ||
|
||
|
||
openvino2tensorflow \ | ||
--model_path openvino/320x320/FP32/u2netp_320x320.xml \ | ||
--model_output_path saved_model_320x320 \ | ||
--output_saved_model True \ | ||
--output_h5 True \ | ||
--output_pb True \ | ||
--output_no_quant_float32_tflite True \ | ||
--output_weight_quant_tflite True \ | ||
--output_float16_quant_tflite True | ||
|
||
|
||
openvino2tensorflow \ | ||
--model_path openvino/480x640/FP32/u2netp_480x640.xml \ | ||
--model_output_path saved_model_480x640 \ | ||
--output_saved_model True \ | ||
--output_h5 True \ | ||
--output_pb True \ | ||
--output_no_quant_float32_tflite True \ | ||
--output_weight_quant_tflite True \ | ||
--output_float16_quant_tflite True |
Oops, something went wrong.