├── 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 | 
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 |
92 |
93 |
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()
--------------------------------------------------------------------------------