├── Custom_Object_Detection_using_TensorFlow_js.ipynb ├── README.md ├── React_Web_App ├── .gitignore ├── .prettierrc ├── LICENSE ├── package-lock.json ├── package.json ├── public │ ├── index.html │ └── model_web │ │ ├── group1-shard1of2.bin │ │ ├── group1-shard2of2.bin │ │ ├── labels.json │ │ └── model.json ├── src │ ├── index.css │ ├── index.js │ ├── object-detection-video │ │ ├── ObjectDetectionVideo.js │ │ ├── render-predictions.js │ │ ├── retina-canvas.js │ │ └── useWebcam.js │ └── useModel.js └── yarn.lock ├── generate_tf_records.py ├── images └── output.jpg ├── package-lock.json └── xml_to_csv.py /README.md: -------------------------------------------------------------------------------- 1 | # Custom Object Detection on the browser using TensorFlow.js 2 | Create your own custom object detection model and deploy it on the browser using TensorFlow.js 3 | 4 | **Note:** TF 1.x is no longer supported; refer to the [TFJS-TFLite Object Detection](https://github.com/NSTiwari/TFJS-TFLite-Object-Detection) repository to create and deploy an object detection model on the browser. 5 | 6 | ## Steps: 7 | 8 | 1. Clone the repository on your local machine. 9 | 2. Upload your dataset on Google Drive in the following directory structure ONLY; to avoid any errors as the notebook is created which is compatible to this format. 10 | 11 | ```TFJS-Custom-Detection 12 | TFJS-Custom-Detection.zip 13 | |__ images (contains all training and validation *.jpg files) 14 | |__ annotations (contains all training and validation *.xml files) 15 | |__ train (contains only training *.jpg and *.xml files) 16 | |__ val (contains only validation *.jpg and *.xml files) 17 | ``` 18 | 19 | 3. Sign in to your Google account and upload the `Custom_Object_Detection_using_TensorFlow_js.ipynb` notebook on Colab. 20 | 4. Run the notebook cells one-by-one by following the instructions. 21 | 5. Once the TFJS model is downloaded, copy the `model_web` folder inside `TensorFlow.js-Custom-Object-Detection/React_Web_App/public` directory. 22 | 6. Run the following commands: 23 | - `cd TensorFlow.js-Custom-Object-Detection/React_Web_App` 24 | - `npm install` 25 | - `npm start` 26 | 7. Open `localhost:3000` on your web browser and test the model for yourself. 27 | 28 | ## Output: 29 | 30 | ![GitHub Logo](/images/output.jpg) 31 | 32 | 33 | -------------------------------------------------------------------------------- /React_Web_App/.gitignore: -------------------------------------------------------------------------------- 1 | /public/model_web 2 | 3 | # Logs 4 | logs 5 | *.log 6 | npm-debug.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | 10 | # Runtime data 11 | pids 12 | *.pid 13 | *.seed 14 | *.pid.lock 15 | 16 | # Directory for instrumented libs generated by jscoverage/JSCover 17 | lib-cov 18 | 19 | # Coverage directory used by tools like istanbul 20 | coverage 21 | 22 | # nyc test coverage 23 | .nyc_output 24 | 25 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 26 | .grunt 27 | 28 | # Bower dependency directory (https://bower.io/) 29 | bower_components 30 | 31 | # node-waf configuration 32 | .lock-wscript 33 | 34 | # Compiled binary addons (https://nodejs.org/api/addons.html) 35 | build/Release 36 | 37 | # Dependency directories 38 | node_modules/ 39 | jspm_packages/ 40 | 41 | # TypeScript v1 declaration files 42 | typings/ 43 | 44 | # Optional npm cache directory 45 | .npm 46 | 47 | # Optional eslint cache 48 | .eslintcache 49 | 50 | # Optional REPL history 51 | .node_repl_history 52 | 53 | # Output of 'npm pack' 54 | *.tgz 55 | 56 | # Yarn Integrity file 57 | .yarn-integrity 58 | 59 | # dotenv environment variables file 60 | .env 61 | 62 | # next.js build output 63 | .next 64 | -------------------------------------------------------------------------------- /React_Web_App/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "semi": false 4 | } -------------------------------------------------------------------------------- /React_Web_App/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Nick Bourdakos 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /React_Web_App/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TFJS-object-detection-react", 3 | "version": "1.0.0", 4 | "description": "TensorFlow.js Custom Object Detection", 5 | "keywords": [], 6 | "repository": "https://github.com/NSTiwari/TensorFlow.js-Custom-Object-Detection/", 7 | "license": "MIT", 8 | "main": "src/index.js", 9 | "dependencies": { 10 | "@cloud-annotations/models": "^0.1.7", 11 | "react": "^16.8.6", 12 | "react-dom": "^16.8.6", 13 | "react-scripts": "3.0.1" 14 | }, 15 | "devDependencies": {}, 16 | "scripts": { 17 | "start": "react-scripts start", 18 | "build": "react-scripts build", 19 | "test": "react-scripts test --env=jsdom", 20 | "eject": "react-scripts eject" 21 | }, 22 | "eslintConfig": { 23 | "extends": "react-app" 24 | }, 25 | "browserslist": [ 26 | ">0.2%", 27 | "not dead", 28 | "not ie <= 11", 29 | "not op_mini all" 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /React_Web_App/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 19 | Object Detection 20 | 21 | 22 | 23 | 26 |
27 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /React_Web_App/public/model_web/group1-shard1of2.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NSTiwari/TensorFlow.js-Custom-Object-Detection/03013cdeb0fd6440ff99dfc08e78b0184a3c7c2b/React_Web_App/public/model_web/group1-shard1of2.bin -------------------------------------------------------------------------------- /React_Web_App/public/model_web/group1-shard2of2.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NSTiwari/TensorFlow.js-Custom-Object-Detection/03013cdeb0fd6440ff99dfc08e78b0184a3c7c2b/React_Web_App/public/model_web/group1-shard2of2.bin -------------------------------------------------------------------------------- /React_Web_App/public/model_web/labels.json: -------------------------------------------------------------------------------- 1 | ["doraemon", "mickey", "mrbean", "mcqueen", "scooby"] -------------------------------------------------------------------------------- /React_Web_App/public/model_web/model.json: -------------------------------------------------------------------------------- 1 | {"format": "graph-model", "generatedBy": "1.15.2", "convertedBy": "TensorFlow.js Converter v1.4.0", "userDefinedMetadata": {"signature": {"outputs": {"Postprocessor/Slice": {"name": "Postprocessor/Slice"}, "Postprocessor/ExpandDims_1": {"name": "Postprocessor/ExpandDims_1"}}}}, "modelTopology": {"node": [{"name": "image_tensor", "op": "Placeholder", "attr": {"dtype": {"type": "DT_UINT8"}, "shape": {"shape": {"dim": [{"size": "-1"}, {"size": "-1"}, {"size": "-1"}, {"size": "3"}]}}}}, {"name": "Preprocessor/mul/x", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "Preprocessor/sub/y", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}}}, {"name": "Preprocessor/map/strided_slice/stack", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "1"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/strided_slice/stack_1", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "1"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/TensorArrayUnstack/range/start", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/TensorArrayUnstack/range/delta", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "BoxPredictor_4/ClassPredictor/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_3/BoxEncodingPredictor/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_5/BoxEncodingPredictor/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_5/BoxEncodingPredictor/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "512"}, {"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_3/BoxEncodingPredictor/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "512"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "512"}, {"size": "1024"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_3/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "256"}, {"size": "36"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_3/ClassPredictor/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "1024"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_4/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "256"}, {"size": "36"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_3/ClassPredictor/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "1024"}, {"size": "1024"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "1024"}, {"size": "256"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_4/ClassPredictor/act_quant/min", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_4/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "256"}, {"size": "24"}]}}}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "256"}, {"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_4/BoxEncodingPredictor/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_4/BoxEncodingPredictor/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "512"}, {"size": "128"}]}}}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "128"}, {"size": "256"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/act_quant/min", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/act_quant/max", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "256"}, {"size": "128"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "128"}, {"size": "256"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "256"}, {"size": "64"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/act_quant/min", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}}}, {"name": "BoxPredictor_0/BoxEncodingPredictor/biases", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "12"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_0/Reshape/shape/1", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "BoxPredictor_0/Reshape/shape/3", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "BoxPredictor_0/ClassPredictor/biases", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "18"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_0/Reshape_1/shape/2", "op": "Const", "attr": {"dtype": {"type": "DT_INT32"}, "value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}}}, {"name": "BoxPredictor_1/BoxEncodingPredictor/biases", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "24"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_1/ClassPredictor/biases", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "36"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "64"}, {"size": "128"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_2/BoxEncodingPredictor/biases", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "24"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_2/ClassPredictor/biases", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "36"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_3/BoxEncodingPredictor/biases", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "24"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_3/ClassPredictor/biases", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "36"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_4/BoxEncodingPredictor/biases", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "24"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_4/ClassPredictor/biases", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "36"}]}}}}}, {"name": "BoxPredictor_5/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "128"}, {"size": "24"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_5/BoxEncodingPredictor/biases", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "24"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_5/ClassPredictor/biases", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "36"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/strided_slice_1/stack_1", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "1"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "Postprocessor/Reshape/shape", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "2"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "Postprocessor/Decode/get_center_coordinates_and_sizes/transpose/perm", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "2"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "Postprocessor/ExpandDims_1/dim", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "Postprocessor/Slice/begin", "op": "Const", "attr": {"dtype": {"type": "DT_INT32"}, "value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "3"}]}}}}}, {"name": "Postprocessor/Slice/size", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "3"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "BoxPredictor_5/ClassPredictor/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_5/ClassPredictor/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_5/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "128"}, {"size": "36"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/BatchNorm_Fold/bias", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "32"}]}}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "32"}]}}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "64"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "64"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "128"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "128"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "128"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "128"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "256"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "256"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "256"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "256"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1024"}]}}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1024"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1024"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "256"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "128"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "256"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "128"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/BatchNorm_Fold/bias", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "256"}]}}}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/BatchNorm_Fold/bias", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "64"}]}}}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/BatchNorm_Fold/bias", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "128"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "3"}, {"size": "32"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "32"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_0/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "512"}, {"size": "12"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "32"}, {"size": "64"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_0/BoxEncodingPredictor/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_0/BoxEncodingPredictor/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "64"}, {"size": "1"}]}}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "64"}, {"size": "128"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_0/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "512"}, {"size": "18"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "128"}, {"size": "1"}]}}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_0/ClassPredictor/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_0/ClassPredictor/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "128"}, {"size": "128"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "128"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_1/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "1024"}, {"size": "24"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "128"}, {"size": "256"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_1/BoxEncodingPredictor/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "256"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_1/BoxEncodingPredictor/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "256"}, {"size": "256"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "256"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_1/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "1024"}, {"size": "36"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_1/ClassPredictor/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "256"}, {"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_1/ClassPredictor/act_quant/max", "op": "Const", "attr": {"dtype": {"type": "DT_FLOAT"}, "value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "512"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "512"}, {"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_2/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "512"}, {"size": "24"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "512"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_2/BoxEncodingPredictor/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_2/BoxEncodingPredictor/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "512"}, {"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "512"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_2/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "512"}, {"size": "36"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "512"}, {"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_2/ClassPredictor/act_quant/min", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_2/ClassPredictor/act_quant/max", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "512"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "512"}, {"size": "512"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_3/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1"}, {"size": "256"}, {"size": "24"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/weights_quant/FakeQuantWithMinMaxVars", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "3"}, {"size": "3"}, {"size": "512"}, {"size": "1"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "ConstantFolding/Postprocessor/Decode/get_center_coordinates_and_sizes/truediv_recip", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "ConstantFolding/Postprocessor/Decode/truediv_recip", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "ConstantFolding/Postprocessor/Decode/truediv_2_recip", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/ExpandDims", "op": "Const", "attr": {"value": {"tensor": {"dtype": "DT_FLOAT", "tensorShape": {"dim": [{"size": "1"}, {"size": "1917"}, {"size": "4"}]}}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "Cast", "op": "Cast", "input": ["image_tensor"], "attr": {"SrcT": {"type": "DT_UINT8"}, "Truncate": {"b": false}, "DstT": {"type": "DT_FLOAT"}}}, {"name": "Preprocessor/map/while/Enter_1", "op": "Enter", "input": ["Preprocessor/map/TensorArrayUnstack/range/start"], "attr": {"T": {"type": "DT_INT32"}, "is_constant": {"b": false}, "parallel_iterations": {"i": "32"}, "frame_name": {"s": "UHJlcHJvY2Vzc29yL21hcC93aGlsZS93aGlsZV9jb250ZXh0"}}}, {"name": "Preprocessor/map/while/Enter", "op": "Enter", "input": ["Preprocessor/map/TensorArrayUnstack/range/start"], "attr": {"is_constant": {"b": false}, "parallel_iterations": {"i": "32"}, "frame_name": {"s": "UHJlcHJvY2Vzc29yL21hcC93aGlsZS93aGlsZV9jb250ZXh0"}, "T": {"type": "DT_INT32"}}}, {"name": "Preprocessor/mul", "op": "Mul", "input": ["Cast", "Preprocessor/mul/x"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Preprocessor/map/while/Merge_1", "op": "Merge", "input": ["Preprocessor/map/while/Enter_1", "Preprocessor/map/while/NextIteration_1"], "attr": {"T": {"type": "DT_INT32"}, "N": {"i": "2"}}}, {"name": "Preprocessor/map/while/Merge", "op": "Merge", "input": ["Preprocessor/map/while/Enter", "Preprocessor/map/while/NextIteration"], "attr": {"T": {"type": "DT_INT32"}, "N": {"i": "2"}}}, {"name": "Preprocessor/sub", "op": "Sub", "input": ["Preprocessor/mul", "Preprocessor/sub/y"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Preprocessor/map/Shape", "op": "Shape", "input": ["Preprocessor/sub"], "attr": {"T": {"type": "DT_FLOAT"}, "out_type": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/strided_slice", "op": "StridedSlice", "input": ["Preprocessor/map/Shape", "Preprocessor/map/strided_slice/stack", "Preprocessor/map/strided_slice/stack_1", "Preprocessor/map/strided_slice/stack_1"], "attr": {"shrink_axis_mask": {"i": "1"}, "begin_mask": {"i": "0"}, "ellipsis_mask": {"i": "0"}, "new_axis_mask": {"i": "0"}, "end_mask": {"i": "0"}, "T": {"type": "DT_INT32"}, "Index": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/TensorArray", "op": "TensorArrayV3", "input": ["Preprocessor/map/strided_slice"], "attr": {"tensor_array_name": {"s": ""}, "dtype": {"type": "DT_FLOAT"}, "element_shape": {"shape": {"unknownRank": true}}, "dynamic_size": {"b": false}, "clear_after_read": {"b": true}, "identical_element_shapes": {"b": true}}}, {"name": "Preprocessor/map/TensorArray_1", "op": "TensorArrayV3", "input": ["Preprocessor/map/strided_slice"], "attr": {"clear_after_read": {"b": true}, "dynamic_size": {"b": false}, "identical_element_shapes": {"b": true}, "tensor_array_name": {"s": ""}, "dtype": {"type": "DT_FLOAT"}, "element_shape": {"shape": {"unknownRank": true}}}}, {"name": "Preprocessor/map/while/Less/Enter", "op": "Enter", "input": ["Preprocessor/map/strided_slice"], "attr": {"T": {"type": "DT_INT32"}, "is_constant": {"b": true}, "parallel_iterations": {"i": "32"}, "frame_name": {"s": "UHJlcHJvY2Vzc29yL21hcC93aGlsZS93aGlsZV9jb250ZXh0"}}}, {"name": "Preprocessor/map/TensorArrayUnstack/range", "op": "Range", "input": ["Preprocessor/map/TensorArrayUnstack/range/start", "Preprocessor/map/strided_slice", "Preprocessor/map/TensorArrayUnstack/range/delta"], "attr": {"Tidx": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/while/TensorArrayReadV3/Enter", "op": "Enter", "input": ["Preprocessor/map/TensorArray"], "attr": {"is_constant": {"b": true}, "parallel_iterations": {"i": "32"}, "frame_name": {"s": "UHJlcHJvY2Vzc29yL21hcC93aGlsZS93aGlsZV9jb250ZXh0"}, "T": {"type": "DT_RESOURCE"}}}, {"name": "Preprocessor/map/while/TensorArrayWrite/TensorArrayWriteV3/Enter", "op": "Enter", "input": ["Preprocessor/map/TensorArray_1"], "attr": {"T": {"type": "DT_RESOURCE"}, "is_constant": {"b": true}, "parallel_iterations": {"i": "32"}, "frame_name": {"s": "UHJlcHJvY2Vzc29yL21hcC93aGlsZS93aGlsZV9jb250ZXh0"}}}, {"name": "Preprocessor/map/while/Enter_2", "op": "Enter", "input": ["Preprocessor/map/TensorArray_1:1"], "attr": {"T": {"type": "DT_FLOAT"}, "is_constant": {"b": false}, "parallel_iterations": {"i": "32"}, "frame_name": {"s": "UHJlcHJvY2Vzc29yL21hcC93aGlsZS93aGlsZV9jb250ZXh0"}}}, {"name": "Preprocessor/map/while/Less_1", "op": "Less", "input": ["Preprocessor/map/while/Merge_1", "Preprocessor/map/while/Less/Enter"], "attr": {"T": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/while/Less", "op": "Less", "input": ["Preprocessor/map/while/Merge", "Preprocessor/map/while/Less/Enter"], "attr": {"T": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3", "op": "TensorArrayScatterV3", "input": ["Preprocessor/map/TensorArray", "Preprocessor/map/TensorArrayUnstack/range", "Preprocessor/sub", "Preprocessor/map/TensorArray:1"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Preprocessor/map/while/Merge_2", "op": "Merge", "input": ["Preprocessor/map/while/Enter_2", "Preprocessor/map/while/NextIteration_2"], "attr": {"T": {"type": "DT_FLOAT"}, "N": {"i": "2"}}}, {"name": "Preprocessor/map/while/LogicalAnd", "op": "LogicalAnd", "input": ["Preprocessor/map/while/Less", "Preprocessor/map/while/Less_1"]}, {"name": "Preprocessor/map/while/TensorArrayReadV3/Enter_1", "op": "Enter", "input": ["Preprocessor/map/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3"], "attr": {"parallel_iterations": {"i": "32"}, "frame_name": {"s": "UHJlcHJvY2Vzc29yL21hcC93aGlsZS93aGlsZV9jb250ZXh0"}, "T": {"type": "DT_FLOAT"}, "is_constant": {"b": true}}}, {"name": "Preprocessor/map/while/LoopCond", "op": "LoopCond", "input": ["Preprocessor/map/while/LogicalAnd"]}, {"name": "Preprocessor/map/while/Switch_1", "op": "Switch", "input": ["Preprocessor/map/while/Merge_1", "Preprocessor/map/while/LoopCond"], "attr": {"T": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/while/Switch_2", "op": "Switch", "input": ["Preprocessor/map/while/Merge_2", "Preprocessor/map/while/LoopCond"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Preprocessor/map/while/Switch", "op": "Switch", "input": ["Preprocessor/map/while/Merge", "Preprocessor/map/while/LoopCond"], "attr": {"T": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/while/TensorArrayReadV3", "op": "TensorArrayReadV3", "input": ["Preprocessor/map/while/TensorArrayReadV3/Enter", "Preprocessor/map/while/Switch_1:1", "Preprocessor/map/while/TensorArrayReadV3/Enter_1"], "attr": {"dtype": {"type": "DT_FLOAT"}}}, {"name": "Preprocessor/map/while/Exit_2", "op": "Exit", "input": ["Preprocessor/map/while/Switch_2"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Preprocessor/map/while/Identity", "op": "Identity", "input": ["Preprocessor/map/while/Switch:1"], "attr": {"T": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/TensorArrayStack/TensorArraySizeV3", "op": "TensorArraySizeV3", "input": ["Preprocessor/map/TensorArray_1", "Preprocessor/map/while/Exit_2"]}, {"name": "Preprocessor/map/while/add/y", "op": "Const", "input": ["^Preprocessor/map/while/Identity"], "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/while/ResizeImage/stack", "op": "Const", "input": ["^Preprocessor/map/while/Identity"], "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {"dim": [{"size": "2"}]}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/while/ResizeImage/resize/ExpandDims/dim", "op": "Const", "input": ["^Preprocessor/map/while/Identity"], "attr": {"value": {"tensor": {"dtype": "DT_INT32", "tensorShape": {}}}, "dtype": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/TensorArrayStack/range", "op": "Range", "input": ["Preprocessor/map/TensorArrayUnstack/range/start", "Preprocessor/map/TensorArrayStack/TensorArraySizeV3", "Preprocessor/map/TensorArrayUnstack/range/delta"], "attr": {"Tidx": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/while/add", "op": "AddV2", "input": ["Preprocessor/map/while/Identity", "Preprocessor/map/while/add/y"], "attr": {"T": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/while/add_1", "op": "AddV2", "input": ["Preprocessor/map/while/Switch_1:1", "Preprocessor/map/while/add/y"], "attr": {"T": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/while/ResizeImage/resize/ExpandDims", "op": "ExpandDims", "input": ["Preprocessor/map/while/TensorArrayReadV3", "Preprocessor/map/while/ResizeImage/resize/ExpandDims/dim"], "attr": {"Tdim": {"type": "DT_INT32"}, "T": {"type": "DT_FLOAT"}}}, {"name": "Preprocessor/map/TensorArrayStack/TensorArrayGatherV3", "op": "TensorArrayGatherV3", "input": ["Preprocessor/map/TensorArray_1", "Preprocessor/map/TensorArrayStack/range", "Preprocessor/map/while/Exit_2"], "attr": {"element_shape": {"shape": {"dim": [{"size": "300"}, {"size": "300"}, {"size": "3"}]}}, "dtype": {"type": "DT_FLOAT"}}}, {"name": "Preprocessor/map/while/NextIteration", "op": "NextIteration", "input": ["Preprocessor/map/while/add"], "attr": {"T": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/while/NextIteration_1", "op": "NextIteration", "input": ["Preprocessor/map/while/add_1"], "attr": {"T": {"type": "DT_INT32"}}}, {"name": "Preprocessor/map/while/ResizeImage/resize/ResizeBilinear", "op": "ResizeBilinear", "input": ["Preprocessor/map/while/ResizeImage/resize/ExpandDims", "Preprocessor/map/while/ResizeImage/stack"], "attr": {"align_corners": {"b": false}, "half_pixel_centers": {"b": false}, "T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/Conv2D_Fold", "op": "Conv2D", "input": ["Preprocessor/map/TensorArrayStack/TensorArrayGatherV3", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "2", "2", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "padding": {"s": "U0FNRQ=="}}}, {"name": "Preprocessor/map/while/ResizeImage/resize/Squeeze", "op": "Squeeze", "input": ["Preprocessor/map/while/ResizeImage/resize/ResizeBilinear"], "attr": {"T": {"type": "DT_FLOAT"}, "squeeze_dims": {"list": {"i": ["0"]}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Preprocessor/map/while/TensorArrayWrite/TensorArrayWriteV3", "op": "TensorArrayWriteV3", "input": ["Preprocessor/map/while/TensorArrayWrite/TensorArrayWriteV3/Enter", "Preprocessor/map/while/Switch_1:1", "Preprocessor/map/while/ResizeImage/resize/Squeeze", "Preprocessor/map/while/Switch_2:1"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Preprocessor/map/while/NextIteration_2", "op": "NextIteration", "input": ["Preprocessor/map/while/TensorArrayWrite/TensorArrayWriteV3"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/depthwise_Fold", "op": "DepthwiseConv2dNative", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/weights_quant/FakeQuantWithMinMaxVars"], "attr": {"data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "padding": {"s": "U0FNRQ=="}, "T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/depthwise_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "padding": {"s": "U0FNRQ=="}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/depthwise_Fold", "op": "DepthwiseConv2dNative", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/weights_quant/FakeQuantWithMinMaxVars"], "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "padding": {"s": "U0FNRQ=="}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "2", "2", "1"]}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/depthwise_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "padding": {"s": "U0FNRQ=="}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/depthwise_Fold", "op": "DepthwiseConv2dNative", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/weights_quant/FakeQuantWithMinMaxVars"], "attr": {"data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "padding": {"s": "U0FNRQ=="}, "T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/depthwise_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"padding": {"s": "U0FNRQ=="}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/depthwise_Fold", "op": "DepthwiseConv2dNative", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/weights_quant/FakeQuantWithMinMaxVars"], "attr": {"data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "2", "2", "1"]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "padding": {"s": "U0FNRQ=="}, "T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/depthwise_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}, "padding": {"s": "U0FNRQ=="}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/depthwise_Fold", "op": "DepthwiseConv2dNative", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/weights_quant/FakeQuantWithMinMaxVars"], "attr": {"data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "padding": {"s": "U0FNRQ=="}, "T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/depthwise_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}, "padding": {"s": "U0FNRQ=="}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/depthwise_Fold", "op": "DepthwiseConv2dNative", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/weights_quant/FakeQuantWithMinMaxVars"], "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "padding": {"s": "U0FNRQ=="}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "2", "2", "1"]}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/depthwise_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}, "padding": {"s": "U0FNRQ=="}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/depthwise_Fold", "op": "DepthwiseConv2dNative", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/weights_quant/FakeQuantWithMinMaxVars"], "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "padding": {"s": "U0FNRQ=="}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/depthwise_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}, "padding": {"s": "U0FNRQ=="}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/depthwise_Fold", "op": "DepthwiseConv2dNative", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/weights_quant/FakeQuantWithMinMaxVars"], "attr": {"T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "padding": {"s": "U0FNRQ=="}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/depthwise_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}, "padding": {"s": "U0FNRQ=="}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/depthwise_Fold", "op": "DepthwiseConv2dNative", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/weights_quant/FakeQuantWithMinMaxVars"], "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "padding": {"s": "U0FNRQ=="}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/depthwise_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "padding": {"s": "U0FNRQ=="}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/depthwise_Fold", "op": "DepthwiseConv2dNative", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/weights_quant/FakeQuantWithMinMaxVars"], "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "padding": {"s": "U0FNRQ=="}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/depthwise_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}, "padding": {"s": "U0FNRQ=="}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/depthwise_Fold", "op": "DepthwiseConv2dNative", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/weights_quant/FakeQuantWithMinMaxVars"], "attr": {"T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "padding": {"s": "U0FNRQ=="}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/depthwise_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "padding": {"s": "U0FNRQ=="}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_0/Shape", "op": "Shape", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/FakeQuantWithMinMaxVars"], "attr": {"out_type": {"type": "DT_INT32"}, "T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/depthwise_Fold", "op": "DepthwiseConv2dNative", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/weights_quant/FakeQuantWithMinMaxVars"], "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "padding": {"s": "U0FNRQ=="}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "2", "2", "1"]}}}}, {"name": "BoxPredictor_0/BoxEncodingPredictor/BiasAdd", "op": "_FusedConv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_0/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "BoxPredictor_0/BoxEncodingPredictor/biases"], "device": "/device:CPU:0", "attr": {"strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_0/ClassPredictor/BiasAdd", "op": "_FusedConv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_0/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "BoxPredictor_0/ClassPredictor/biases"], "device": "/device:CPU:0", "attr": {"epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}}}, {"name": "BoxPredictor_0/strided_slice", "op": "StridedSlice", "input": ["BoxPredictor_0/Shape", "Preprocessor/map/strided_slice/stack", "Preprocessor/map/strided_slice/stack_1", "Preprocessor/map/strided_slice/stack_1"], "attr": {"T": {"type": "DT_INT32"}, "Index": {"type": "DT_INT32"}, "shrink_axis_mask": {"i": "1"}, "begin_mask": {"i": "0"}, "ellipsis_mask": {"i": "0"}, "new_axis_mask": {"i": "0"}, "end_mask": {"i": "0"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/depthwise_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_0/BoxEncodingPredictor/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["BoxPredictor_0/BoxEncodingPredictor/BiasAdd", "BoxPredictor_0/BoxEncodingPredictor/act_quant/min", "BoxPredictor_0/BoxEncodingPredictor/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_0/ClassPredictor/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["BoxPredictor_0/ClassPredictor/BiasAdd", "BoxPredictor_0/ClassPredictor/act_quant/min", "BoxPredictor_0/ClassPredictor/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_0/Reshape/shape", "op": "Pack", "input": ["BoxPredictor_0/strided_slice", "BoxPredictor_0/Reshape/shape/1", "Preprocessor/map/TensorArrayUnstack/range/delta", "BoxPredictor_0/Reshape/shape/3"], "attr": {"T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "4"}}}, {"name": "BoxPredictor_0/Reshape_1/shape", "op": "Pack", "input": ["BoxPredictor_0/strided_slice", "BoxPredictor_0/Reshape/shape/1", "BoxPredictor_0/Reshape_1/shape/2"], "attr": {"T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "3"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_0/Reshape", "op": "Reshape", "input": ["BoxPredictor_0/BoxEncodingPredictor/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_0/Reshape/shape"], "attr": {"T": {"type": "DT_FLOAT"}, "Tshape": {"type": "DT_INT32"}}}, {"name": "BoxPredictor_0/Reshape_1", "op": "Reshape", "input": ["BoxPredictor_0/ClassPredictor/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_0/Reshape_1/shape"], "attr": {"T": {"type": "DT_FLOAT"}, "Tshape": {"type": "DT_INT32"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "padding": {"s": "U0FNRQ=="}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/depthwise_Fold", "op": "DepthwiseConv2dNative", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/weights_quant/FakeQuantWithMinMaxVars"], "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "padding": {"s": "U0FNRQ=="}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/depthwise_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}, "padding": {"s": "U0FNRQ=="}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/Relu6", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_1/Shape", "op": "Shape", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/act_quant/FakeQuantWithMinMaxVars"], "attr": {"T": {"type": "DT_FLOAT"}, "out_type": {"type": "DT_INT32"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "padding": {"s": "U0FNRQ=="}}}, {"name": "BoxPredictor_1/BoxEncodingPredictor/BiasAdd", "op": "_FusedConv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_1/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "BoxPredictor_1/BoxEncodingPredictor/biases"], "device": "/device:CPU:0", "attr": {"data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_1/ClassPredictor/BiasAdd", "op": "_FusedConv2D", "input": ["FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_1/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "BoxPredictor_1/ClassPredictor/biases"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA=="]}}}}, {"name": "BoxPredictor_1/strided_slice", "op": "StridedSlice", "input": ["BoxPredictor_1/Shape", "Preprocessor/map/strided_slice/stack", "Preprocessor/map/strided_slice/stack_1", "Preprocessor/map/strided_slice/stack_1"], "attr": {"shrink_axis_mask": {"i": "1"}, "ellipsis_mask": {"i": "0"}, "begin_mask": {"i": "0"}, "new_axis_mask": {"i": "0"}, "end_mask": {"i": "0"}, "Index": {"type": "DT_INT32"}, "T": {"type": "DT_INT32"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_1/BoxEncodingPredictor/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["BoxPredictor_1/BoxEncodingPredictor/BiasAdd", "BoxPredictor_1/BoxEncodingPredictor/act_quant/min", "BoxPredictor_1/BoxEncodingPredictor/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_1/ClassPredictor/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["BoxPredictor_1/ClassPredictor/BiasAdd", "BoxPredictor_1/ClassPredictor/act_quant/min", "BoxPredictor_1/ClassPredictor/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_1/Reshape/shape", "op": "Pack", "input": ["BoxPredictor_1/strided_slice", "BoxPredictor_0/Reshape/shape/1", "Preprocessor/map/TensorArrayUnstack/range/delta", "BoxPredictor_0/Reshape/shape/3"], "attr": {"T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "4"}}}, {"name": "BoxPredictor_1/Reshape_1/shape", "op": "Pack", "input": ["BoxPredictor_1/strided_slice", "BoxPredictor_0/Reshape/shape/1", "BoxPredictor_0/Reshape_1/shape/2"], "attr": {"T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "3"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_1/Reshape", "op": "Reshape", "input": ["BoxPredictor_1/BoxEncodingPredictor/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_1/Reshape/shape"], "attr": {"T": {"type": "DT_FLOAT"}, "Tshape": {"type": "DT_INT32"}}}, {"name": "BoxPredictor_1/Reshape_1", "op": "Reshape", "input": ["BoxPredictor_1/ClassPredictor/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_1/Reshape_1/shape"], "attr": {"Tshape": {"type": "DT_INT32"}, "T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/Relu6", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/act_quant/min", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "2", "2", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "padding": {"s": "U0FNRQ=="}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/Relu6", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/act_quant/min", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_2/Shape", "op": "Shape", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/act_quant/FakeQuantWithMinMaxVars"], "attr": {"T": {"type": "DT_FLOAT"}, "out_type": {"type": "DT_INT32"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "padding": {"s": "U0FNRQ=="}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}}}, {"name": "BoxPredictor_2/BoxEncodingPredictor/BiasAdd", "op": "_FusedConv2D", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_2/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "BoxPredictor_2/BoxEncodingPredictor/biases"], "device": "/device:CPU:0", "attr": {"strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_2/ClassPredictor/BiasAdd", "op": "_FusedConv2D", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_2/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "BoxPredictor_2/ClassPredictor/biases"], "device": "/device:CPU:0", "attr": {"epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}}}, {"name": "BoxPredictor_2/strided_slice", "op": "StridedSlice", "input": ["BoxPredictor_2/Shape", "Preprocessor/map/strided_slice/stack", "Preprocessor/map/strided_slice/stack_1", "Preprocessor/map/strided_slice/stack_1"], "attr": {"shrink_axis_mask": {"i": "1"}, "begin_mask": {"i": "0"}, "ellipsis_mask": {"i": "0"}, "new_axis_mask": {"i": "0"}, "end_mask": {"i": "0"}, "Index": {"type": "DT_INT32"}, "T": {"type": "DT_INT32"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_2/BoxEncodingPredictor/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["BoxPredictor_2/BoxEncodingPredictor/BiasAdd", "BoxPredictor_2/BoxEncodingPredictor/act_quant/min", "BoxPredictor_2/BoxEncodingPredictor/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_2/ClassPredictor/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["BoxPredictor_2/ClassPredictor/BiasAdd", "BoxPredictor_2/ClassPredictor/act_quant/min", "BoxPredictor_2/ClassPredictor/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_2/Reshape/shape", "op": "Pack", "input": ["BoxPredictor_2/strided_slice", "BoxPredictor_0/Reshape/shape/1", "Preprocessor/map/TensorArrayUnstack/range/delta", "BoxPredictor_0/Reshape/shape/3"], "attr": {"T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "4"}}}, {"name": "BoxPredictor_2/Reshape_1/shape", "op": "Pack", "input": ["BoxPredictor_2/strided_slice", "BoxPredictor_0/Reshape/shape/1", "BoxPredictor_0/Reshape_1/shape/2"], "attr": {"T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "3"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_2/Reshape", "op": "Reshape", "input": ["BoxPredictor_2/BoxEncodingPredictor/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_2/Reshape/shape"], "attr": {"T": {"type": "DT_FLOAT"}, "Tshape": {"type": "DT_INT32"}}}, {"name": "BoxPredictor_2/Reshape_1", "op": "Reshape", "input": ["BoxPredictor_2/ClassPredictor/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_2/Reshape_1/shape"], "attr": {"T": {"type": "DT_FLOAT"}, "Tshape": {"type": "DT_INT32"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/Relu6", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/act_quant/min", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "2", "2", "1"]}}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}, "padding": {"s": "U0FNRQ=="}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/Relu6", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/act_quant/min", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_3/ClassPredictor/BiasAdd", "op": "_FusedConv2D", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_3/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "BoxPredictor_3/ClassPredictor/biases"], "device": "/device:CPU:0", "attr": {"fused_ops": {"list": {"s": ["Qmlhc0FkZA=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}}}, {"name": "BoxPredictor_3/Shape", "op": "Shape", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/act_quant/FakeQuantWithMinMaxVars"], "attr": {"T": {"type": "DT_FLOAT"}, "out_type": {"type": "DT_INT32"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "padding": {"s": "U0FNRQ=="}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_3/BoxEncodingPredictor/BiasAdd", "op": "_FusedConv2D", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_3/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "BoxPredictor_3/BoxEncodingPredictor/biases"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA=="]}}}}, {"name": "BoxPredictor_3/ClassPredictor/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["BoxPredictor_3/ClassPredictor/BiasAdd", "BoxPredictor_3/ClassPredictor/act_quant/min", "BoxPredictor_3/ClassPredictor/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_3/strided_slice", "op": "StridedSlice", "input": ["BoxPredictor_3/Shape", "Preprocessor/map/strided_slice/stack", "Preprocessor/map/strided_slice/stack_1", "Preprocessor/map/strided_slice/stack_1"], "attr": {"shrink_axis_mask": {"i": "1"}, "ellipsis_mask": {"i": "0"}, "begin_mask": {"i": "0"}, "new_axis_mask": {"i": "0"}, "end_mask": {"i": "0"}, "T": {"type": "DT_INT32"}, "Index": {"type": "DT_INT32"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_3/BoxEncodingPredictor/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["BoxPredictor_3/BoxEncodingPredictor/BiasAdd", "BoxPredictor_3/BoxEncodingPredictor/act_quant/min", "BoxPredictor_3/BoxEncodingPredictor/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_3/Reshape/shape", "op": "Pack", "input": ["BoxPredictor_3/strided_slice", "BoxPredictor_0/Reshape/shape/1", "Preprocessor/map/TensorArrayUnstack/range/delta", "BoxPredictor_0/Reshape/shape/3"], "attr": {"T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "4"}}}, {"name": "BoxPredictor_3/Reshape_1/shape", "op": "Pack", "input": ["BoxPredictor_3/strided_slice", "BoxPredictor_0/Reshape/shape/1", "BoxPredictor_0/Reshape_1/shape/2"], "attr": {"N": {"i": "3"}, "T": {"type": "DT_INT32"}, "axis": {"i": "0"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_3/Reshape", "op": "Reshape", "input": ["BoxPredictor_3/BoxEncodingPredictor/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_3/Reshape/shape"], "attr": {"Tshape": {"type": "DT_INT32"}, "T": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_3/Reshape_1", "op": "Reshape", "input": ["BoxPredictor_3/ClassPredictor/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_3/Reshape_1/shape"], "attr": {"T": {"type": "DT_FLOAT"}, "Tshape": {"type": "DT_INT32"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/Relu6", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/act_quant/min", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"padding": {"s": "U0FNRQ=="}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "2", "2", "1"]}}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/Relu6", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/act_quant/min", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_4/ClassPredictor/BiasAdd", "op": "_FusedConv2D", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_4/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "BoxPredictor_4/ClassPredictor/biases"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA=="]}}}}, {"name": "BoxPredictor_4/BoxEncodingPredictor/BiasAdd", "op": "_FusedConv2D", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_4/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "BoxPredictor_4/BoxEncodingPredictor/biases"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA=="]}}}}, {"name": "BoxPredictor_4/Shape", "op": "Shape", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/act_quant/FakeQuantWithMinMaxVars"], "attr": {"out_type": {"type": "DT_INT32"}, "T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "padding": {"s": "U0FNRQ=="}}}, {"name": "BoxPredictor_4/ClassPredictor/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["BoxPredictor_4/ClassPredictor/BiasAdd", "BoxPredictor_4/ClassPredictor/act_quant/min", "BoxPredictor_4/ClassPredictor/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_4/BoxEncodingPredictor/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["BoxPredictor_4/BoxEncodingPredictor/BiasAdd", "BoxPredictor_4/BoxEncodingPredictor/act_quant/min", "BoxPredictor_4/BoxEncodingPredictor/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_4/strided_slice", "op": "StridedSlice", "input": ["BoxPredictor_4/Shape", "Preprocessor/map/strided_slice/stack", "Preprocessor/map/strided_slice/stack_1", "Preprocessor/map/strided_slice/stack_1"], "attr": {"ellipsis_mask": {"i": "0"}, "begin_mask": {"i": "0"}, "new_axis_mask": {"i": "0"}, "end_mask": {"i": "0"}, "T": {"type": "DT_INT32"}, "Index": {"type": "DT_INT32"}, "shrink_axis_mask": {"i": "1"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_4/Reshape/shape", "op": "Pack", "input": ["BoxPredictor_4/strided_slice", "BoxPredictor_0/Reshape/shape/1", "Preprocessor/map/TensorArrayUnstack/range/delta", "BoxPredictor_0/Reshape/shape/3"], "attr": {"T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "4"}}}, {"name": "BoxPredictor_4/Reshape_1/shape", "op": "Pack", "input": ["BoxPredictor_4/strided_slice", "BoxPredictor_0/Reshape/shape/1", "BoxPredictor_0/Reshape_1/shape/2"], "attr": {"T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "3"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "BoxPredictor_4/Reshape", "op": "Reshape", "input": ["BoxPredictor_4/BoxEncodingPredictor/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_4/Reshape/shape"], "attr": {"T": {"type": "DT_FLOAT"}, "Tshape": {"type": "DT_INT32"}}}, {"name": "BoxPredictor_4/Reshape_1", "op": "Reshape", "input": ["BoxPredictor_4/ClassPredictor/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_4/Reshape_1/shape"], "attr": {"T": {"type": "DT_FLOAT"}, "Tshape": {"type": "DT_INT32"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/Relu6", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/act_quant/min", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/Conv2D_Fold", "op": "Conv2D", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/act_quant/FakeQuantWithMinMaxVars", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/weights_quant/FakeQuantWithMinMaxVars"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "data_format": {"s": "TkhXQw=="}, "strides": {"list": {"i": ["1", "2", "2", "1"]}}, "explicit_paddings": {"list": {}}, "use_cudnn_on_gpu": {"b": true}, "padding": {"s": "U0FNRQ=="}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/add_fold", "op": "Add", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/BatchNorm_Fold/bias", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/Conv2D_Fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/Relu6", "op": "Relu6", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/add_fold"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/Relu6", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/act_quant/min", "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_5/Shape", "op": "Shape", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/act_quant/FakeQuantWithMinMaxVars"], "attr": {"T": {"type": "DT_FLOAT"}, "out_type": {"type": "DT_INT32"}}}, {"name": "BoxPredictor_5/BoxEncodingPredictor/BiasAdd", "op": "_FusedConv2D", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_5/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "BoxPredictor_5/BoxEncodingPredictor/biases"], "device": "/device:CPU:0", "attr": {"dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}, "fused_ops": {"list": {"s": ["Qmlhc0FkZA=="]}}}}, {"name": "BoxPredictor_5/ClassPredictor/BiasAdd", "op": "_FusedConv2D", "input": ["FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_5/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "BoxPredictor_5/ClassPredictor/biases"], "device": "/device:CPU:0", "attr": {"fused_ops": {"list": {"s": ["Qmlhc0FkZA=="]}}, "dilations": {"list": {"i": ["1", "1", "1", "1"]}}, "T": {"type": "DT_FLOAT"}, "strides": {"list": {"i": ["1", "1", "1", "1"]}}, "data_format": {"s": "TkhXQw=="}, "use_cudnn_on_gpu": {"b": true}, "explicit_paddings": {"list": {}}, "num_args": {"i": "1"}, "epsilon": {"f": 0.0}, "padding": {"s": "U0FNRQ=="}}}, {"name": "BoxPredictor_5/strided_slice", "op": "StridedSlice", "input": ["BoxPredictor_5/Shape", "Preprocessor/map/strided_slice/stack", "Preprocessor/map/strided_slice/stack_1", "Preprocessor/map/strided_slice/stack_1"], "attr": {"Index": {"type": "DT_INT32"}, "T": {"type": "DT_INT32"}, "shrink_axis_mask": {"i": "1"}, "ellipsis_mask": {"i": "0"}, "begin_mask": {"i": "0"}, "new_axis_mask": {"i": "0"}, "end_mask": {"i": "0"}}}, {"name": "BoxPredictor_5/BoxEncodingPredictor/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["BoxPredictor_5/BoxEncodingPredictor/BiasAdd", "BoxPredictor_5/BoxEncodingPredictor/act_quant/min", "BoxPredictor_5/BoxEncodingPredictor/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_5/ClassPredictor/act_quant/FakeQuantWithMinMaxVars", "op": "FakeQuantWithMinMaxVars", "input": ["BoxPredictor_5/ClassPredictor/BiasAdd", "BoxPredictor_5/ClassPredictor/act_quant/min", "BoxPredictor_5/ClassPredictor/act_quant/max"], "attr": {"narrow_range": {"b": false}, "num_bits": {"i": "8"}}}, {"name": "BoxPredictor_5/Reshape/shape", "op": "Pack", "input": ["BoxPredictor_5/strided_slice", "BoxPredictor_0/Reshape/shape/1", "Preprocessor/map/TensorArrayUnstack/range/delta", "BoxPredictor_0/Reshape/shape/3"], "attr": {"T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "4"}}}, {"name": "BoxPredictor_5/Reshape_1/shape", "op": "Pack", "input": ["BoxPredictor_5/strided_slice", "BoxPredictor_0/Reshape/shape/1", "BoxPredictor_0/Reshape_1/shape/2"], "attr": {"T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "3"}}}, {"name": "BoxPredictor_5/Reshape", "op": "Reshape", "input": ["BoxPredictor_5/BoxEncodingPredictor/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_5/Reshape/shape"], "attr": {"T": {"type": "DT_FLOAT"}, "Tshape": {"type": "DT_INT32"}}}, {"name": "BoxPredictor_5/Reshape_1", "op": "Reshape", "input": ["BoxPredictor_5/ClassPredictor/act_quant/FakeQuantWithMinMaxVars", "BoxPredictor_5/Reshape_1/shape"], "attr": {"T": {"type": "DT_FLOAT"}, "Tshape": {"type": "DT_INT32"}}}, {"name": "concat", "op": "ConcatV2", "input": ["BoxPredictor_0/Reshape", "BoxPredictor_1/Reshape", "BoxPredictor_2/Reshape", "BoxPredictor_3/Reshape", "BoxPredictor_4/Reshape", "BoxPredictor_5/Reshape", "Preprocessor/map/TensorArrayUnstack/range/delta"], "attr": {"Tidx": {"type": "DT_INT32"}, "T": {"type": "DT_FLOAT"}, "N": {"i": "6"}}}, {"name": "concat_1", "op": "ConcatV2", "input": ["BoxPredictor_0/Reshape_1", "BoxPredictor_1/Reshape_1", "BoxPredictor_2/Reshape_1", "BoxPredictor_3/Reshape_1", "BoxPredictor_4/Reshape_1", "BoxPredictor_5/Reshape_1", "Preprocessor/map/TensorArrayUnstack/range/delta"], "attr": {"N": {"i": "6"}, "Tidx": {"type": "DT_INT32"}, "T": {"type": "DT_FLOAT"}}}, {"name": "Squeeze", "op": "Squeeze", "input": ["concat"], "attr": {"T": {"type": "DT_FLOAT"}, "squeeze_dims": {"list": {"i": ["2"]}}}}, {"name": "Postprocessor/convert_scores", "op": "Sigmoid", "input": ["concat_1"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Shape", "op": "Shape", "input": ["Squeeze"], "attr": {"T": {"type": "DT_FLOAT"}, "out_type": {"type": "DT_INT32"}}}, {"name": "Postprocessor/Reshape_1", "op": "Reshape", "input": ["Squeeze", "Postprocessor/Reshape/shape"], "attr": {"T": {"type": "DT_FLOAT"}, "Tshape": {"type": "DT_INT32"}}}, {"name": "Postprocessor/Slice", "op": "Slice", "input": ["Postprocessor/convert_scores", "Postprocessor/Slice/begin", "Postprocessor/Slice/size"], "attr": {"T": {"type": "DT_FLOAT"}, "Index": {"type": "DT_INT32"}}}, {"name": "Postprocessor/strided_slice", "op": "StridedSlice", "input": ["Postprocessor/Shape", "Preprocessor/map/strided_slice/stack", "Preprocessor/map/strided_slice/stack_1", "Preprocessor/map/strided_slice/stack_1"], "attr": {"T": {"type": "DT_INT32"}, "Index": {"type": "DT_INT32"}, "shrink_axis_mask": {"i": "1"}, "ellipsis_mask": {"i": "0"}, "begin_mask": {"i": "0"}, "new_axis_mask": {"i": "0"}, "end_mask": {"i": "0"}}}, {"name": "Postprocessor/strided_slice_1", "op": "StridedSlice", "input": ["Postprocessor/Shape", "Preprocessor/map/strided_slice/stack_1", "Postprocessor/strided_slice_1/stack_1", "Preprocessor/map/strided_slice/stack_1"], "attr": {"T": {"type": "DT_INT32"}, "Index": {"type": "DT_INT32"}, "shrink_axis_mask": {"i": "1"}, "ellipsis_mask": {"i": "0"}, "begin_mask": {"i": "0"}, "new_axis_mask": {"i": "0"}, "end_mask": {"i": "0"}}}, {"name": "Postprocessor/Decode/transpose", "op": "Transpose", "input": ["Postprocessor/Reshape_1", "Postprocessor/Decode/get_center_coordinates_and_sizes/transpose/perm"], "attr": {"T": {"type": "DT_FLOAT"}, "Tperm": {"type": "DT_INT32"}}}, {"name": "Postprocessor/Tile/multiples", "op": "Pack", "input": ["Postprocessor/strided_slice", "Preprocessor/map/TensorArrayUnstack/range/delta", "Preprocessor/map/TensorArrayUnstack/range/delta"], "attr": {"T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "3"}}}, {"name": "Postprocessor/stack", "op": "Pack", "input": ["Postprocessor/strided_slice", "Postprocessor/strided_slice_1", "BoxPredictor_0/Reshape/shape/3"], "attr": {"T": {"type": "DT_INT32"}, "axis": {"i": "0"}, "N": {"i": "3"}}}, {"name": "Postprocessor/Decode/unstack", "op": "Unpack", "input": ["Postprocessor/Decode/transpose"], "attr": {"axis": {"i": "0"}, "T": {"type": "DT_FLOAT"}, "num": {"i": "4"}}}, {"name": "Postprocessor/Tile", "op": "Tile", "input": ["Postprocessor/ExpandDims", "Postprocessor/Tile/multiples"], "attr": {"Tmultiples": {"type": "DT_INT32"}, "T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/truediv", "op": "Mul", "input": ["ConstantFolding/Postprocessor/Decode/truediv_recip", "Postprocessor/Decode/unstack"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/truediv_1", "op": "Mul", "input": ["ConstantFolding/Postprocessor/Decode/truediv_recip", "Postprocessor/Decode/unstack:1"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/truediv_2", "op": "Mul", "input": ["ConstantFolding/Postprocessor/Decode/truediv_2_recip", "Postprocessor/Decode/unstack:2"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/truediv_3", "op": "Mul", "input": ["ConstantFolding/Postprocessor/Decode/truediv_2_recip", "Postprocessor/Decode/unstack:3"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Reshape", "op": "Reshape", "input": ["Postprocessor/Tile", "Postprocessor/Reshape/shape"], "attr": {"Tshape": {"type": "DT_INT32"}, "T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/Exp_1", "op": "Exp", "input": ["Postprocessor/Decode/truediv_2"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/Exp", "op": "Exp", "input": ["Postprocessor/Decode/truediv_3"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/get_center_coordinates_and_sizes/transpose", "op": "Transpose", "input": ["Postprocessor/Reshape", "Postprocessor/Decode/get_center_coordinates_and_sizes/transpose/perm"], "attr": {"T": {"type": "DT_FLOAT"}, "Tperm": {"type": "DT_INT32"}}}, {"name": "Postprocessor/Decode/get_center_coordinates_and_sizes/unstack", "op": "Unpack", "input": ["Postprocessor/Decode/get_center_coordinates_and_sizes/transpose"], "attr": {"T": {"type": "DT_FLOAT"}, "num": {"i": "4"}, "axis": {"i": "0"}}}, {"name": "Postprocessor/Decode/get_center_coordinates_and_sizes/sub_1", "op": "Sub", "input": ["Postprocessor/Decode/get_center_coordinates_and_sizes/unstack:2", "Postprocessor/Decode/get_center_coordinates_and_sizes/unstack"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/get_center_coordinates_and_sizes/sub", "op": "Sub", "input": ["Postprocessor/Decode/get_center_coordinates_and_sizes/unstack:3", "Postprocessor/Decode/get_center_coordinates_and_sizes/unstack:1"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/get_center_coordinates_and_sizes/truediv", "op": "Mul", "input": ["ConstantFolding/Postprocessor/Decode/get_center_coordinates_and_sizes/truediv_recip", "Postprocessor/Decode/get_center_coordinates_and_sizes/sub_1"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/mul_2", "op": "Mul", "input": ["Postprocessor/Decode/get_center_coordinates_and_sizes/sub_1", "Postprocessor/Decode/truediv"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/get_center_coordinates_and_sizes/truediv_1", "op": "Mul", "input": ["ConstantFolding/Postprocessor/Decode/get_center_coordinates_and_sizes/truediv_recip", "Postprocessor/Decode/get_center_coordinates_and_sizes/sub"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/mul_3", "op": "Mul", "input": ["Postprocessor/Decode/get_center_coordinates_and_sizes/sub", "Postprocessor/Decode/truediv_1"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/get_center_coordinates_and_sizes/add", "op": "AddV2", "input": ["Postprocessor/Decode/get_center_coordinates_and_sizes/truediv", "Postprocessor/Decode/get_center_coordinates_and_sizes/unstack"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/truediv_4", "op": "Mul", "input": ["Postprocessor/Decode/Exp_1", "Postprocessor/Decode/get_center_coordinates_and_sizes/truediv"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/get_center_coordinates_and_sizes/add_1", "op": "AddV2", "input": ["Postprocessor/Decode/get_center_coordinates_and_sizes/truediv_1", "Postprocessor/Decode/get_center_coordinates_and_sizes/unstack:1"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/truediv_5", "op": "Mul", "input": ["Postprocessor/Decode/Exp", "Postprocessor/Decode/get_center_coordinates_and_sizes/truediv_1"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/add", "op": "AddV2", "input": ["Postprocessor/Decode/get_center_coordinates_and_sizes/add", "Postprocessor/Decode/mul_2"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/add_1", "op": "AddV2", "input": ["Postprocessor/Decode/get_center_coordinates_and_sizes/add_1", "Postprocessor/Decode/mul_3"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/sub", "op": "Sub", "input": ["Postprocessor/Decode/add", "Postprocessor/Decode/truediv_4"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/add_2", "op": "AddV2", "input": ["Postprocessor/Decode/add", "Postprocessor/Decode/truediv_4"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/sub_1", "op": "Sub", "input": ["Postprocessor/Decode/add_1", "Postprocessor/Decode/truediv_5"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/add_3", "op": "AddV2", "input": ["Postprocessor/Decode/add_1", "Postprocessor/Decode/truediv_5"], "attr": {"T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Decode/stack", "op": "Pack", "input": ["Postprocessor/Decode/sub", "Postprocessor/Decode/sub_1", "Postprocessor/Decode/add_2", "Postprocessor/Decode/add_3"], "attr": {"T": {"type": "DT_FLOAT"}, "axis": {"i": "0"}, "N": {"i": "4"}}}, {"name": "Postprocessor/Decode/transpose_1", "op": "Transpose", "input": ["Postprocessor/Decode/stack", "Postprocessor/Decode/get_center_coordinates_and_sizes/transpose/perm"], "attr": {"Tperm": {"type": "DT_INT32"}, "T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/Reshape_2", "op": "Reshape", "input": ["Postprocessor/Decode/transpose_1", "Postprocessor/stack"], "attr": {"Tshape": {"type": "DT_INT32"}, "T": {"type": "DT_FLOAT"}}}, {"name": "Postprocessor/ExpandDims_1", "op": "ExpandDims", "input": ["Postprocessor/Reshape_2", "Postprocessor/ExpandDims_1/dim"], "attr": {"Tdim": {"type": "DT_INT32"}, "T": {"type": "DT_FLOAT"}}}], "versions": {}}, "weightsManifest": [{"paths": ["group1-shard1of2.bin", "group1-shard2of2.bin"], "weights": [{"name": "Preprocessor/mul/x", "shape": [], "dtype": "float32", "quantization": {"min": 0.007843137718737125, "scale": 1.0, "dtype": "uint8"}}, {"name": "Preprocessor/sub/y", "shape": [], "dtype": "float32", "quantization": {"min": 1.0, "scale": 1.0, "dtype": "uint8"}}, {"name": "Preprocessor/map/strided_slice/stack", "shape": [1], "dtype": "int32"}, {"name": "Preprocessor/map/strided_slice/stack_1", "shape": [1], "dtype": "int32"}, {"name": "Preprocessor/map/TensorArrayUnstack/range/start", "shape": [], "dtype": "int32"}, {"name": "Preprocessor/map/TensorArrayUnstack/range/delta", "shape": [], "dtype": "int32"}, {"name": "BoxPredictor_4/ClassPredictor/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 0.6828572154045105, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_3/BoxEncodingPredictor/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -2.976527214050293, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_5/BoxEncodingPredictor/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -2.9214272499084473, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_5/BoxEncodingPredictor/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 2.0340123176574707, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 512, 512], "dtype": "float32", "quantization": {"min": -0.21724655698327455, "scale": 0.0019749686998479505, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": 0.0, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_3/BoxEncodingPredictor/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 3.3851890563964844, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 6.000061988830566, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 512, 1], "dtype": "float32", "quantization": {"min": -2.8749200484331916, "scale": 0.022286201925838696, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 512, 1024], "dtype": "float32", "quantization": {"min": -0.2678213620887083, "scale": 0.0021774094478756775, "dtype": "uint8"}}, {"name": "BoxPredictor_3/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 256, 36], "dtype": "float32", "quantization": {"min": -0.09897454959504745, "scale": 0.0011376385010924994, "dtype": "uint8"}}, {"name": "BoxPredictor_3/ClassPredictor/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -4.913702487945557, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 1024, 1], "dtype": "float32", "quantization": {"min": -2.36465539745256, "scale": 0.019069801592359357, "dtype": "uint8"}}, {"name": "BoxPredictor_4/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 256, 36], "dtype": "float32", "quantization": {"min": -0.06387069435680613, "scale": 0.0007603654090095969, "dtype": "uint8"}}, {"name": "BoxPredictor_3/ClassPredictor/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 2.3531980514526367, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 1024, 1024], "dtype": "float32", "quantization": {"min": -0.14456979118141475, "scale": 0.00110358619222454, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 1024, 256], "dtype": "float32", "quantization": {"min": -0.0983532946191582, "scale": 0.0009191896693379271, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -6.958487510681152, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_4/ClassPredictor/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -5.02320671081543, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 7.226687431335449, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_4/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 256, 24], "dtype": "float32", "quantization": {"min": -0.07011247250963659, "scale": 0.0005608997800770928, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 256, 512], "dtype": "float32", "quantization": {"min": -0.05945939072499088, "scale": 0.0004538884788167243, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -8.27842903137207, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_4/BoxEncodingPredictor/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -2.492241859436035, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 7.70427942276001, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_4/BoxEncodingPredictor/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 2.3274807929992676, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 512, 128], "dtype": "float32", "quantization": {"min": -0.16556752516942866, "scale": 0.0013245402013554292, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -7.018283843994141, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 6.724346160888672, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 128, 256], "dtype": "float32", "quantization": {"min": -0.09599592843476465, "scale": 0.0007868518724161036, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -5.579517841339111, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 5.527246952056885, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 256, 128], "dtype": "float32", "quantization": {"min": -0.21785112461623024, "scale": 0.0016887684078777537, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -4.0583109855651855, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 4.850979328155518, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 128, 256], "dtype": "float32", "quantization": {"min": -0.1263804210459485, "scale": 0.0009502287296687856, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -3.5924007892608643, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 4.390921592712402, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 256, 64], "dtype": "float32", "quantization": {"min": -0.14256023992510403, "scale": 0.0011781838010339175, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -3.408052921295166, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_0/BoxEncodingPredictor/biases", "shape": [12], "dtype": "float32", "quantization": {"min": -0.019558308799477186, "scale": 0.0001270020051914103, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 4.114276885986328, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_0/Reshape/shape/1", "shape": [], "dtype": "int32"}, {"name": "BoxPredictor_0/Reshape/shape/3", "shape": [], "dtype": "int32"}, {"name": "BoxPredictor_0/ClassPredictor/biases", "shape": [18], "dtype": "float32", "quantization": {"min": -4.6104278564453125, "scale": 0.0001287254632688036, "dtype": "uint8"}}, {"name": "BoxPredictor_0/Reshape_1/shape/2", "shape": [], "dtype": "int32"}, {"name": "BoxPredictor_1/BoxEncodingPredictor/biases", "shape": [24], "dtype": "float32", "quantization": {"min": -0.018564118707881255, "scale": 0.00040356779799741855, "dtype": "uint8"}}, {"name": "BoxPredictor_1/ClassPredictor/biases", "shape": [36], "dtype": "float32", "quantization": {"min": -4.603573799133301, "scale": 0.001133286719228707, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 64, 128], "dtype": "float32", "quantization": {"min": -0.16443230311075846, "scale": 0.0012090610522849886, "dtype": "uint8"}}, {"name": "BoxPredictor_2/BoxEncodingPredictor/biases", "shape": [24], "dtype": "float32", "quantization": {"min": -0.010850801691412925, "scale": 0.000602822316189607, "dtype": "uint8"}}, {"name": "BoxPredictor_2/ClassPredictor/biases", "shape": [36], "dtype": "float32", "quantization": {"min": -4.601444721221924, "scale": 0.0009928665909112668, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -2.839632272720337, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_3/BoxEncodingPredictor/biases", "shape": [24], "dtype": "float32", "quantization": {"min": -0.07888645570652157, "scale": 0.0006981102274913414, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 2.770348310470581, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_3/ClassPredictor/biases", "shape": [36], "dtype": "float32", "quantization": {"min": -4.600605487823486, "scale": 0.000739439795998966, "dtype": "uint8"}}, {"name": "BoxPredictor_4/BoxEncodingPredictor/biases", "shape": [24], "dtype": "float32", "quantization": {"min": -0.08593106963763049, "scale": 0.0005084678676782869, "dtype": "uint8"}}, {"name": "BoxPredictor_4/ClassPredictor/biases", "shape": [36], "dtype": "float32", "quantization": {"min": -4.600231170654297, "scale": 0.00043853310977711395, "dtype": "uint8"}}, {"name": "BoxPredictor_5/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 128, 24], "dtype": "float32", "quantization": {"min": -0.1368265225022447, "scale": 0.0010210934515092888, "dtype": "uint8"}}, {"name": "BoxPredictor_5/BoxEncodingPredictor/biases", "shape": [24], "dtype": "float32", "quantization": {"min": -0.22239985141684027, "scale": 0.0013159754521706525, "dtype": "uint8"}}, {"name": "BoxPredictor_5/ClassPredictor/biases", "shape": [36], "dtype": "float32", "quantization": {"min": -4.599999904632568, "scale": 0.001195812225341797, "dtype": "uint8"}}, {"name": "Postprocessor/strided_slice_1/stack_1", "shape": [1], "dtype": "int32"}, {"name": "Postprocessor/Reshape/shape", "shape": [2], "dtype": "int32"}, {"name": "Postprocessor/Decode/get_center_coordinates_and_sizes/transpose/perm", "shape": [2], "dtype": "int32"}, {"name": "Postprocessor/ExpandDims_1/dim", "shape": [], "dtype": "int32"}, {"name": "Postprocessor/Slice/begin", "shape": [3], "dtype": "int32"}, {"name": "Postprocessor/Slice/size", "shape": [3], "dtype": "int32"}, {"name": "BoxPredictor_5/ClassPredictor/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -4.767111778259277, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_5/ClassPredictor/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 1.9061651229858398, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_5/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 128, 36], "dtype": "float32", "quantization": {"min": -0.09124229655546301, "scale": 0.0012672541188258751, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/BatchNorm_Fold/bias", "shape": [32], "dtype": "float32", "quantization": {"min": -0.6981558075138167, "scale": 0.006070920065337536, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/BatchNorm_Fold/bias", "shape": [32], "dtype": "float32", "quantization": {"min": -1.2269338383394128, "scale": 0.011360498503142712, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/BatchNorm_Fold/bias", "shape": [64], "dtype": "float32", "quantization": {"min": -1.6052783648173012, "scale": 0.013158019383748372, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/BatchNorm_Fold/bias", "shape": [64], "dtype": "float32", "quantization": {"min": -1.3359242046580595, "scale": 0.012845425044789034, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/BatchNorm_Fold/bias", "shape": [128], "dtype": "float32", "quantization": {"min": -1.909463560814951, "scale": 0.014917684068866805, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/BatchNorm_Fold/bias", "shape": [128], "dtype": "float32", "quantization": {"min": -1.1913938522338867, "scale": 0.009928282101949055, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/BatchNorm_Fold/bias", "shape": [128], "dtype": "float32", "quantization": {"min": -2.0535598675409954, "scale": 0.015676029523213706, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/BatchNorm_Fold/bias", "shape": [128], "dtype": "float32", "quantization": {"min": -1.0553712844848633, "scale": 0.008868666256175321, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/BatchNorm_Fold/bias", "shape": [256], "dtype": "float32", "quantization": {"min": -2.4318055358587527, "scale": 0.018706196429682714, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/BatchNorm_Fold/bias", "shape": [256], "dtype": "float32", "quantization": {"min": -1.0202851926579195, "scale": 0.00919175849241369, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/BatchNorm_Fold/bias", "shape": [256], "dtype": "float32", "quantization": {"min": -2.7078574965981876, "scale": 0.020058203678505093, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/BatchNorm_Fold/bias", "shape": [256], "dtype": "float32", "quantization": {"min": -0.9312401427942165, "scale": 0.007959317459779628, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/BatchNorm_Fold/bias", "shape": [512], "dtype": "float32", "quantization": {"min": -1.8420313755671183, "scale": 0.015223399798075358, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/BatchNorm_Fold/bias", "shape": [512], "dtype": "float32", "quantization": {"min": -1.3287561267030006, "scale": 0.009916090497783586, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/BatchNorm_Fold/bias", "shape": [512], "dtype": "float32", "quantization": {"min": -2.0798321892233456, "scale": 0.016248688978307387, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/BatchNorm_Fold/bias", "shape": [512], "dtype": "float32", "quantization": {"min": -1.3493245966294234, "scale": 0.00937030969881544, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/BatchNorm_Fold/bias", "shape": [512], "dtype": "float32", "quantization": {"min": -1.4605987450655769, "scale": 0.011874786545248593, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/BatchNorm_Fold/bias", "shape": [512], "dtype": "float32", "quantization": {"min": -1.165994083180147, "scale": 0.009109328774844898, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/BatchNorm_Fold/bias", "shape": [512], "dtype": "float32", "quantization": {"min": -1.6830317927341834, "scale": 0.012021655662387025, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/BatchNorm_Fold/bias", "shape": [512], "dtype": "float32", "quantization": {"min": -0.9981308081570793, "scale": 0.00845873566234813, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/BatchNorm_Fold/bias", "shape": [512], "dtype": "float32", "quantization": {"min": -1.2189709158504711, "scale": 0.010158090965420592, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/BatchNorm_Fold/bias", "shape": [512], "dtype": "float32", "quantization": {"min": -1.0886287894903446, "scale": 0.008779264431373746, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/BatchNorm_Fold/bias", "shape": [512], "dtype": "float32", "quantization": {"min": -1.0578808265573838, "scale": 0.008600657126482796, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/BatchNorm_Fold/bias", "shape": [512], "dtype": "float32", "quantization": {"min": -1.025275081279231, "scale": 0.008073032136056937, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/BatchNorm_Fold/bias", "shape": [1024], "dtype": "float32", "quantization": {"min": -1.0702491634032305, "scale": 0.00964188435498406, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/BatchNorm_Fold/bias", "shape": [1024], "dtype": "float32", "quantization": {"min": -0.8419224746087018, "scale": 0.007584887158636954, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/BatchNorm_Fold/bias", "shape": [1024], "dtype": "float32", "quantization": {"min": -0.8436681242550121, "scale": 0.007030567702125101, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/BatchNorm_Fold/bias", "shape": [256], "dtype": "float32", "quantization": {"min": -1.1270531373865464, "scale": 0.013105269039378446, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/BatchNorm_Fold/bias", "shape": [512], "dtype": "float32", "quantization": {"min": -0.8141876220703126, "scale": 0.008481121063232422, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/BatchNorm_Fold/bias", "shape": [128], "dtype": "float32", "quantization": {"min": -0.9619739925160127, "scale": 0.017178107009214513, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/BatchNorm_Fold/bias", "shape": [256], "dtype": "float32", "quantization": {"min": -0.6537244605083091, "scale": 0.00848992805854947, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/BatchNorm_Fold/bias", "shape": [128], "dtype": "float32", "quantization": {"min": -0.9573237470552033, "scale": 0.012118022114622826, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/BatchNorm_Fold/bias", "shape": [256], "dtype": "float32", "quantization": {"min": -0.23280216882041854, "scale": 0.007509747381303824, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/BatchNorm_Fold/bias", "shape": [64], "dtype": "float32", "quantization": {"min": -1.6420442852319455, "scale": 0.015346208273195753, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/BatchNorm_Fold/bias", "shape": [128], "dtype": "float32", "quantization": {"min": -0.32535571175463057, "scale": 0.0120502115464678, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 3, 32], "dtype": "float32", "quantization": {"min": -0.6652722728018666, "scale": 0.004685016005646948, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 5.860625743865967, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 32, 1], "dtype": "float32", "quantization": {"min": -3.233446654151468, "scale": 0.023430772856170057, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 5.994858264923096, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_0/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 512, 12], "dtype": "float32", "quantization": {"min": -0.03672242141237446, "scale": 0.00031657259838253844, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 32, 64], "dtype": "float32", "quantization": {"min": -2.2737666111366424, "scale": 0.014211041319604014, "dtype": "uint8"}}, {"name": "BoxPredictor_0/BoxEncodingPredictor/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -2.1983156204223633, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 5.993838310241699, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_0/BoxEncodingPredictor/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 2.3893134593963623, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 64, 1], "dtype": "float32", "quantization": {"min": -1.605594971600701, "scale": 0.013379958096672508, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 5.994517803192139, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 64, 128], "dtype": "float32", "quantization": {"min": -1.515714724858602, "scale": 0.011659344037373861, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 5.989238262176514, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_0/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 512, 18], "dtype": "float32", "quantization": {"min": -0.058112281765423573, "scale": 0.0005641969103439182, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 128, 1], "dtype": "float32", "quantization": {"min": -2.27022144093233, "scale": 0.017069334142348347, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 5.9951276779174805, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_0/ClassPredictor/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -8.343609809875488, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_0/ClassPredictor/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 0.00033487947075627744, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 128, 128], "dtype": "float32", "quantization": {"min": -1.1556273724518569, "scale": 0.00831386598886228, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 5.97673225402832, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 128, 1], "dtype": "float32", "quantization": {"min": -2.797456890928979, "scale": 0.019981834935206992, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 5.995234966278076, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_1/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 1024, 24], "dtype": "float32", "quantization": {"min": -0.11332594682188596, "scale": 0.00104931432242487, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 128, 256], "dtype": "float32", "quantization": {"min": -0.9616206113029928, "scale": 0.007818053750430836, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 5.995988845825195, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_1/BoxEncodingPredictor/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -3.919987201690674, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 256, 1], "dtype": "float32", "quantization": {"min": -2.359007433349011, "scale": 0.018146211025761624, "dtype": "uint8"}}, {"name": "BoxPredictor_1/BoxEncodingPredictor/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 5.708728313446045, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 5.997097969055176, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 256, 256], "dtype": "float32", "quantization": {"min": -0.717713103574865, "scale": 0.004849412861992331, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 5.9997124671936035, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 256, 1], "dtype": "float32", "quantization": {"min": -3.05419391931272, "scale": 0.02063644540076162, "dtype": "uint8"}}, {"name": "BoxPredictor_1/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 1024, 36], "dtype": "float32", "quantization": {"min": -0.19676424948608173, "scale": 0.0011853268041330225, "dtype": "uint8"}}, {"name": "BoxPredictor_1/ClassPredictor/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -55.851158142089844, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 256, 512], "dtype": "float32", "quantization": {"min": -0.46790946231168856, "scale": 0.0038992455192640714, "dtype": "uint8"}}, {"name": "BoxPredictor_1/ClassPredictor/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 0.8944883942604065, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 512, 1], "dtype": "float32", "quantization": {"min": -2.762768222771439, "scale": 0.01987603037965064, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 512, 512], "dtype": "float32", "quantization": {"min": -0.2860058674625322, "scale": 0.002487007543152454, "dtype": "uint8"}}, {"name": "BoxPredictor_2/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 512, 24], "dtype": "float32", "quantization": {"min": -0.1412805273252375, "scale": 0.001239302871274013, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 512, 1], "dtype": "float32", "quantization": {"min": -2.566138099221622, "scale": 0.021384484160180184, "dtype": "uint8"}}, {"name": "BoxPredictor_2/BoxEncodingPredictor/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -3.190080165863037, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_2/BoxEncodingPredictor/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 4.371535301208496, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 512, 512], "dtype": "float32", "quantization": {"min": -0.2185039288857404, "scale": 0.001883654559359831, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 512, 1], "dtype": "float32", "quantization": {"min": -2.269819635503432, "scale": 0.019235759622910444, "dtype": "uint8"}}, {"name": "BoxPredictor_2/ClassPredictor/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 512, 36], "dtype": "float32", "quantization": {"min": -0.08971814963163113, "scale": 0.0010432342980422225, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 512, 512], "dtype": "float32", "quantization": {"min": -0.22777661575990565, "scale": 0.0019980404891219794, "dtype": "uint8"}}, {"name": "BoxPredictor_2/ClassPredictor/act_quant/min", "shape": [], "dtype": "float32", "quantization": {"min": -8.45567798614502, "scale": 1.0, "dtype": "uint8"}}, {"name": "BoxPredictor_2/ClassPredictor/act_quant/max", "shape": [], "dtype": "float32", "quantization": {"min": 1.4708906412124634, "scale": 1.0, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 512, 1], "dtype": "float32", "quantization": {"min": -2.811863327026367, "scale": 0.02067546563989976, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 512, 512], "dtype": "float32", "quantization": {"min": -0.253924564520518, "scale": 0.0021338198699203193, "dtype": "uint8"}}, {"name": "BoxPredictor_3/BoxEncodingPredictor/weights_quant/FakeQuantWithMinMaxVars", "shape": [1, 1, 256, 24], "dtype": "float32", "quantization": {"min": -0.14137547390133726, "scale": 0.0010098248135809805, "dtype": "uint8"}}, {"name": "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/weights_quant/FakeQuantWithMinMaxVars", "shape": [3, 3, 512, 1], "dtype": "float32", "quantization": {"min": -3.325465950311399, "scale": 0.02293424793318206, "dtype": "uint8"}}, {"name": "ConstantFolding/Postprocessor/Decode/get_center_coordinates_and_sizes/truediv_recip", "shape": [], "dtype": "float32", "quantization": {"min": 0.5, "scale": 1.0, "dtype": "uint8"}}, {"name": "ConstantFolding/Postprocessor/Decode/truediv_recip", "shape": [], "dtype": "float32", "quantization": {"min": 0.10000000149011612, "scale": 1.0, "dtype": "uint8"}}, {"name": "ConstantFolding/Postprocessor/Decode/truediv_2_recip", "shape": [], "dtype": "float32", "quantization": {"min": 0.20000000298023224, "scale": 1.0, "dtype": "uint8"}}, {"name": "Postprocessor/ExpandDims", "shape": [1, 1917, 4], "dtype": "float32", "quantization": {"min": -0.44369642874773807, "scale": 0.007394940479128968, "dtype": "uint8"}}, {"name": "Preprocessor/map/while/add/y", "shape": [], "dtype": "int32"}, {"name": "Preprocessor/map/while/ResizeImage/stack", "shape": [2], "dtype": "int32"}, {"name": "Preprocessor/map/while/ResizeImage/resize/ExpandDims/dim", "shape": [], "dtype": "int32"}]}]} -------------------------------------------------------------------------------- /React_Web_App/src/index.css: -------------------------------------------------------------------------------- 1 | .fillPage { 2 | position: fixed; 3 | top: 0; 4 | left: 0; 5 | right: 0; 6 | bottom: 0; 7 | } 8 | -------------------------------------------------------------------------------- /React_Web_App/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom' 3 | 4 | import useModel from './useModel' 5 | import ObjectDetectionVideo from './object-detection-video/ObjectDetectionVideo' 6 | 7 | import './index.css' 8 | 9 | const handlePrediction = (predictions) => { 10 | console.timeEnd('detect') 11 | console.time('detect') 12 | console.log(predictions) 13 | } 14 | 15 | const render = (ctx, predictions) => { 16 | predictions.forEach((prediction) => { 17 | const x = prediction.bbox[0] 18 | const y = prediction.bbox[1] 19 | const width = prediction.bbox[2] 20 | const height = prediction.bbox[3] 21 | 22 | ctx.setStrokeStyle('#0062ff') 23 | ctx.setLineWidth(4) 24 | ctx.strokeRect( 25 | Math.round(x), 26 | Math.round(y), 27 | Math.round(width), 28 | Math.round(height) 29 | ) 30 | }) 31 | } 32 | 33 | const App = () => { 34 | const model = useModel(process.env.PUBLIC_URL + '/model_web') 35 | 36 | return ( 37 |
38 | 52 |
53 | ) 54 | } 55 | 56 | const rootElement = document.getElementById('root') 57 | ReactDOM.render(, rootElement) 58 | -------------------------------------------------------------------------------- /React_Web_App/src/object-detection-video/ObjectDetectionVideo.js: -------------------------------------------------------------------------------- 1 | import React, { useRef, useCallback } from 'react' 2 | 3 | import useWebcam from './useWebcam' 4 | import { getRetinaContext } from './retina-canvas' 5 | import { renderPredictions } from './render-predictions' 6 | 7 | const ObjectDetectionVideo = React.memo( 8 | ({ model, onPrediction, fit, mirrored, render }) => { 9 | const videoRef = useRef() 10 | const canvasRef = useRef() 11 | 12 | useWebcam(videoRef, () => { 13 | detectFrame() 14 | }) 15 | 16 | const detectFrame = useCallback(async () => { 17 | const predictions = await model.detect(videoRef.current) 18 | if (onPrediction) { 19 | onPrediction(predictions) 20 | } 21 | 22 | const wantedWidth = videoRef.current.offsetWidth 23 | const wantedHeight = videoRef.current.offsetHeight 24 | const videoWidth = videoRef.current.videoWidth 25 | const videoHeight = videoRef.current.videoHeight 26 | 27 | const scaleX = wantedWidth / videoWidth 28 | const scaleY = wantedHeight / videoHeight 29 | 30 | let scale 31 | if (fit === 'aspectFit') { 32 | scale = Math.min(scaleX, scaleY) 33 | } else { 34 | scale = Math.max(scaleX, scaleY) 35 | } 36 | 37 | const xOffset = (wantedWidth - videoWidth * scale) / 2 38 | const yOffset = (wantedHeight - videoHeight * scale) / 2 39 | 40 | const ctx = getRetinaContext(canvasRef.current) 41 | 42 | ctx.setWidth(wantedWidth) 43 | ctx.setHeight(wantedHeight) 44 | ctx.clearAll() 45 | 46 | // Update predictions to match canvas. 47 | const offsetPredictions = predictions.map((prediction) => { 48 | let x = prediction.bbox[0] * scale + xOffset 49 | const y = prediction.bbox[1] * scale + yOffset 50 | const width = prediction.bbox[2] * scale 51 | const height = prediction.bbox[3] * scale 52 | 53 | if (mirrored) { 54 | x = wantedWidth - x - width 55 | } 56 | return { ...prediction, bbox: [x, y, width, height] } 57 | }) 58 | 59 | const renderFunction = render || renderPredictions 60 | 61 | renderFunction(ctx, offsetPredictions) 62 | requestAnimationFrame(() => { 63 | detectFrame() 64 | }) 65 | }, [fit, mirrored, model, onPrediction, render]) 66 | 67 | if (canvasRef.current) { 68 | canvasRef.current.style.position = 'absolute' 69 | canvasRef.current.style.left = '0' 70 | canvasRef.current.style.top = '0' 71 | } 72 | 73 | if (videoRef.current) { 74 | videoRef.current.style.width = '100%' 75 | videoRef.current.style.height = '100%' 76 | if (fit === 'aspectFit') { 77 | videoRef.current.style.objectFit = 'contain' 78 | } else { 79 | videoRef.current.style.objectFit = 'cover' 80 | } 81 | 82 | if (mirrored) { 83 | videoRef.current.style.transform = 'scaleX(-1)' 84 | } else { 85 | videoRef.current.style.transform = 'scaleX(1)' 86 | } 87 | } 88 | 89 | return ( 90 |
91 |
94 | ) 95 | } 96 | ) 97 | 98 | export default ObjectDetectionVideo 99 | -------------------------------------------------------------------------------- /React_Web_App/src/object-detection-video/render-predictions.js: -------------------------------------------------------------------------------- 1 | const getLabelText = (prediction) => { 2 | const scoreText = (prediction.score * 100).toFixed(1) 3 | return `${prediction.label} ${scoreText}%` 4 | } 5 | 6 | export const renderPredictions = (ctx, predictions) => { 7 | // Font options. 8 | const font = `${16}px 'ibm-plex-sans', Helvetica Neue, Arial, sans-serif` 9 | ctx.setFont(font) 10 | ctx.setTextBaseLine('top') 11 | const border = 4 12 | const xPadding = 16 13 | const yPadding = 8 14 | const offset = 6 15 | const textHeight = parseInt(font, 10) // base 10 16 | 17 | predictions.forEach((prediction) => { 18 | const x = prediction.bbox[0] 19 | const y = prediction.bbox[1] 20 | const width = prediction.bbox[2] 21 | const height = prediction.bbox[3] 22 | 23 | const predictionText = getLabelText(prediction) 24 | 25 | // Draw the bounding box. 26 | ctx.setStrokeStyle('#0062ff') 27 | ctx.setLineWidth(border) 28 | 29 | ctx.strokeRect( 30 | Math.round(x), 31 | Math.round(y), 32 | Math.round(width), 33 | Math.round(height) 34 | ) 35 | // Draw the label background. 36 | ctx.setFillStyle('#0062ff') 37 | const textWidth = ctx.measureText(predictionText).width 38 | ctx.fillRect( 39 | Math.round(x - border / 2), 40 | Math.round(y - (textHeight + yPadding) - offset), 41 | Math.round(textWidth + xPadding), 42 | Math.round(textHeight + yPadding) 43 | ) 44 | }) 45 | 46 | predictions.forEach((prediction) => { 47 | const x = prediction.bbox[0] 48 | const y = prediction.bbox[1] 49 | 50 | const predictionText = getLabelText(prediction) 51 | // Draw the text last to ensure it's on top. 52 | ctx.setFillStyle('#ffffff') 53 | ctx.fillText( 54 | predictionText, 55 | Math.round(x - border / 2 + xPadding / 2), 56 | Math.round(y - (textHeight + yPadding) - offset + yPadding / 2) 57 | ) 58 | }) 59 | } 60 | -------------------------------------------------------------------------------- /React_Web_App/src/object-detection-video/retina-canvas.js: -------------------------------------------------------------------------------- 1 | export const getRetinaContext = (canvas) => { 2 | const ctx = canvas.getContext('2d') 3 | const scale = window.devicePixelRatio 4 | let width = canvas.width / scale 5 | let height = canvas.height / scale 6 | return { 7 | setWidth: (w) => { 8 | width = w 9 | canvas.style.width = w + 'px' 10 | canvas.width = w * scale 11 | }, 12 | setHeight: (h) => { 13 | height = h 14 | canvas.style.height = h + 'px' 15 | canvas.height = h * scale 16 | }, 17 | width: width, 18 | height: height, 19 | clearAll: () => { 20 | return ctx.clearRect(0, 0, width * scale, height * scale) 21 | }, 22 | clearRect: (x, y, width, height) => { 23 | return ctx.clearRect(x * scale, y * scale, width * scale, height * scale) 24 | }, 25 | setFont: (font) => { 26 | const size = parseInt(font, 10) * scale 27 | const retinaFont = font.replace(/^\d+px/, size + 'px') 28 | ctx.font = retinaFont 29 | }, 30 | setTextBaseLine: (textBaseline) => { 31 | ctx.textBaseline = textBaseline 32 | }, 33 | setStrokeStyle: (strokeStyle) => { 34 | ctx.strokeStyle = strokeStyle 35 | }, 36 | setLineWidth: (lineWidth) => { 37 | ctx.lineWidth = lineWidth * scale 38 | }, 39 | strokeRect: (x, y, width, height) => { 40 | return ctx.strokeRect(x * scale, y * scale, width * scale, height * scale) 41 | }, 42 | setFillStyle: (fillStyle) => { 43 | ctx.fillStyle = fillStyle 44 | }, 45 | measureText: (text) => { 46 | const metrics = ctx.measureText(text) 47 | return { 48 | width: metrics.width / scale, 49 | actualBoundingBoxLeft: metrics.actualBoundingBoxLeft / scale, 50 | actualBoundingBoxRight: metrics.actualBoundingBoxRight / scale, 51 | actualBoundingBoxAscent: metrics.actualBoundingBoxAscent / scale, 52 | actualBoundingBoxDescent: metrics.actualBoundingBoxDescent / scale, 53 | } 54 | }, 55 | fillRect: (x, y, width, height) => { 56 | return ctx.fillRect(x * scale, y * scale, width * scale, height * scale) 57 | }, 58 | fillText: (text, x, y) => { 59 | return ctx.fillText(text, x * scale, y * scale) 60 | }, 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /React_Web_App/src/object-detection-video/useWebcam.js: -------------------------------------------------------------------------------- 1 | import { useEffect } from 'react' 2 | 3 | const useWebcam = (videoRef, onLoaded) => { 4 | useEffect(() => { 5 | if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { 6 | navigator.mediaDevices 7 | .getUserMedia({ 8 | audio: false, 9 | video: { 10 | facingMode: 'user', 11 | width: { ideal: 4096 }, 12 | height: { ideal: 2160 }, 13 | }, 14 | }) 15 | .then((stream) => { 16 | videoRef.current.srcObject = stream 17 | videoRef.current.onloadedmetadata = () => { 18 | onLoaded() 19 | } 20 | }) 21 | } 22 | }, [onLoaded, videoRef]) 23 | } 24 | 25 | export default useWebcam 26 | -------------------------------------------------------------------------------- /React_Web_App/src/useModel.js: -------------------------------------------------------------------------------- 1 | import { useEffect, useState } from 'react' 2 | 3 | import models from '@cloud-annotations/models' 4 | 5 | const useModel = (modelPath) => { 6 | const [model, setModel] = useState() 7 | useEffect(() => { 8 | models.load(modelPath).then((model) => { 9 | setModel(model) 10 | }) 11 | }, [modelPath]) 12 | return model 13 | } 14 | 15 | export default useModel 16 | -------------------------------------------------------------------------------- /generate_tf_records.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Reference repo: https://github.com/EdjeElectronics/TensorFlow-Object-Detection-API-Tutorial-Train-Multiple-Objects-Windows-10/blob/master/generate_tfrecord.py 3 | It's necessary to install the tensorflow object detection first 4 | ''' 5 | 6 | import tensorflow as tf 7 | import pandas as pd 8 | import argparse 9 | import logging 10 | import io 11 | import os 12 | 13 | from PIL import Image 14 | from object_detection.utils import dataset_util 15 | from collections import namedtuple, OrderedDict 16 | 17 | logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.INFO) 18 | 19 | class TFRecord: 20 | def __init__(self, labelmap_file) -> None: 21 | f = open(labelmap_file, "r") 22 | labelmap = f.read() 23 | self.class_names = self.init_names(labelmap) 24 | 25 | def init_names(self, labelmap) -> dict: 26 | items = labelmap.split('item')[1:] 27 | items_dict = {} 28 | for item in items: 29 | name = str(item.split('name')[1].split('"')[1]) 30 | name_id = int(item.split('name')[1].split('id')[1].\ 31 | split(": ")[1].split('}')[0]) 32 | 33 | items_dict[name] = name_id 34 | return items_dict 35 | 36 | def class_text_to_int(self, row_label) -> int: 37 | if self.class_names[row_label] is not None: 38 | return self.class_names[row_label] 39 | else: 40 | None 41 | 42 | def split(self, df, group): 43 | data = namedtuple('data', ['filename', 'object']) 44 | gb = df.groupby(group) 45 | return [data(filename, gb.get_group(x)) for filename, x in \ 46 | zip(gb.groups.keys(), gb.groups)] 47 | 48 | 49 | def create_tf(self, group, path): 50 | with tf.io.gfile.GFile(os.path.join(path, '{}'\ 51 | .format(group.filename)), 'rb') as fid: 52 | encoded_jpg = fid.read() 53 | encoded_jpg_io = io.BytesIO(encoded_jpg) 54 | image = Image.open(encoded_jpg_io) 55 | width, height = image.size 56 | 57 | filename = group.filename.encode('utf8') 58 | image_format = b'jpg' 59 | xmins = [] 60 | xmaxs = [] 61 | ymins = [] 62 | ymaxs = [] 63 | classes_text = [] 64 | classes = [] 65 | 66 | for index, row in group.object.iterrows(): 67 | xmins.append(row['xmin'] / width) 68 | xmaxs.append(row['xmax'] / width) 69 | ymins.append(row['ymin'] / height) 70 | ymaxs.append(row['ymax'] / height) 71 | classes_text.append(row['class'].encode('utf8')) 72 | classes.append(self.class_text_to_int(row['class'])) 73 | 74 | tf_sample = tf.train.Example(features=tf.train.Features(feature={ 75 | 'image/height': dataset_util.int64_feature(height), 76 | 'image/width': dataset_util.int64_feature(width), 77 | 'image/filename': dataset_util.bytes_feature(filename), 78 | 'image/source_id': dataset_util.bytes_feature(filename), 79 | 'image/encoded': dataset_util.bytes_feature(encoded_jpg), 80 | 'image/format': dataset_util.bytes_feature(image_format), 81 | 'image/object/bbox/xmin': dataset_util.float_list_feature(xmins), 82 | 'image/object/bbox/xmax': dataset_util.float_list_feature(xmaxs), 83 | 'image/object/bbox/ymin': dataset_util.float_list_feature(ymins), 84 | 'image/object/bbox/ymax': dataset_util.float_list_feature(ymaxs), 85 | 'image/object/class/text':\ 86 | dataset_util.bytes_list_feature(classes_text), 87 | 'image/object/class/label':\ 88 | dataset_util.int64_list_feature(classes), 89 | })) 90 | return tf_sample 91 | 92 | def generate(self, output_path, image_dir, csv_input) -> None: 93 | writer = tf.io.TFRecordWriter(output_path) 94 | path = os.path.join(image_dir) 95 | data = pd.read_csv(csv_input) 96 | grouped = self.split(data, 'filename') 97 | 98 | for group in grouped: 99 | try: 100 | tf_sample = self.create_tf(group, path) 101 | writer.write(tf_sample.SerializeToString()) 102 | except: 103 | continue 104 | logging.info('Successfully created the TFRecords: {}'.format(output_path)) 105 | 106 | 107 | if __name__ == "__main__": 108 | parser = argparse.ArgumentParser(description="Generate tf record") 109 | parser.add_argument('-l', '--labelmap', 110 | help = 'Labelmap path', 111 | default = 'labelmap.txt', 112 | dest = 'labelmap_file' 113 | ) 114 | parser.add_argument('-o', '--output', 115 | help = 'Output path', 116 | default = 'train.record', 117 | dest = 'output_path' 118 | ) 119 | 120 | parser.add_argument('-i', '--imagesdir', 121 | help = 'Images directory', 122 | default = 'dataset/images', 123 | dest = 'image_dir' 124 | ) 125 | 126 | parser.add_argument('-csv', '--csvinput', 127 | help = 'CSV with images names', 128 | default = 'dataset/labels.csv', 129 | dest = 'csv_input' 130 | ) 131 | args = parser.parse_args() 132 | 133 | tf_record = TFRecord(args.labelmap_file) 134 | tf_record.generate(args.output_path, args.image_dir, args.csv_input) -------------------------------------------------------------------------------- /images/output.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NSTiwari/TensorFlow.js-Custom-Object-Detection/03013cdeb0fd6440ff99dfc08e78b0184a3c7c2b/images/output.jpg -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "lockfileVersion": 1 3 | } 4 | -------------------------------------------------------------------------------- /xml_to_csv.py: -------------------------------------------------------------------------------- 1 | import os 2 | import glob 3 | import pandas as pd 4 | import xml.etree.ElementTree as ET 5 | def xml_to_csv(path): 6 | xml_list = [] 7 | for xml_file in glob.glob(path + '/*.xml'): 8 | tree = ET.parse(xml_file) 9 | root = tree.getroot() 10 | for member in root.findall('object'): 11 | value = (root.find('filename').text, 12 | int(root.find('size')[0].text), 13 | int(root.find('size')[1].text), 14 | member[0].text, 15 | int(member[4][0].text), 16 | int(member[4][1].text), 17 | int(member[4][2].text), 18 | int(member[4][3].text) 19 | ) 20 | xml_list.append(value) 21 | column_name = ['filename', 'width', 'height', 'class', 'xmin', 'ymin', 'xmax', 'ymax'] 22 | xml_df = pd.DataFrame(xml_list, columns=column_name) 23 | return xml_df 24 | 25 | 26 | def main(): 27 | for folder in ['train','val']: 28 | image_path = os.path.join(os.getcwd(), ('TFJS-Custom-Detection/' + folder)) 29 | xml_df = xml_to_csv(image_path) 30 | xml_df.to_csv(('TFJS-Custom-Detection/' + folder + '_labels.csv'), index=None) 31 | print('Successfully converted xml to csv.') 32 | 33 | 34 | main() --------------------------------------------------------------------------------