Skip to content
This repository was archived by the owner on Jul 1, 2024. It is now read-only.

Conversation

@ck-intel
Copy link
Contributor

No description provided.

@ck-intel ck-intel requested a review from cavusmustafa July 11, 2022 16:44
@ajay-prabhu
Copy link
Collaborator

Verified Efficientdet and ssd_resnet models with dynamic fallback disabled, These models are passing now with ck/fix_const_op_translation branch

@cavusmustafa cavusmustafa merged commit cede95a into releases/2.1.0 Jul 11, 2022
@cavusmustafa cavusmustafa deleted the ck/fix_const_op_translation branch July 11, 2022 18:03
ck-intel added a commit that referenced this pull request Jul 14, 2022
* Update opset support to opset8 (#300)

* Update opset support to opset8

* Update maxpool op params bas per pset8 in transpose_sinking cpp test

* Performance optimizations (#313)

* Remove older CustomGraphOptimizer methods

* Update builder version to 2.0

* Enable Classification Sample through Grappler

* Add AnalyticalCostEstimator that predicts and prints per-op costs in TF Logs

* Change item to grappler_item

* Refine graph optimization python API

* Use cluster object from Grappler for device GOps

* Working classification sample with grappler pass
- Fix fetch nodes list
- Do not consider feed, and fetch nodes for marking

* Add translation for NMS ops and enable support in OCM for SquaredDifference,LessEqual,NotEqual,Cumsum

* Update NMS implementation for transforming OV output shapes as per TF implementation

* Disabling NMSV3 test for GPU, it fails for some trivial test fn checks, but passes when tested as a separate fn

* Remove get_shape calls used for VLOG in Transpose

* Replace get_shape with get_partial_shape wherever only rank is required

* Added Op translations for CTCGreedyDecoder and BatchMatMulV2 (#301)

* added translations for `CTCGreedyDecoder` and `BatchMatMulV2`

* enable tests for `CTCGreedyDecoder`

* enable tests for `BatchMatMulV2`

* added custom test cases for `CTCGreedyDecoder`

* fixed function name

* Update OCM submodule to ocm master for the added ops

* Implement SparseToDense OP for CPU

* Fixed abuge introduced in fixing get_shape in TpKV2

* Restore min non trivial node threshold to right shift by 5, and update cluster busting comments

* Cluster wise cost estimation using Grappler

- Add GraphDef creation for each cluster at the deassign_clusters stage
- Temporarily operate with the heuristic of scheduling only the top-1 costly cluster on OpenVINO

* Fix translation of Select OP, and right shift condition in deassign clusters

* Added Op translations and extended type support (#304)

* added translation for `BatchMatMul`

* added test for `Tile`

* added test for `Reshape`

* added test for `ExpandDims`

* added tests for `BatchMatMul` and `BatchMatMulV2`

* enable tests for `BatchMatMul`

* disable float64 tests for GPU

* update OCM submodule

* Added fused translation for `CTCGreedyDecoder` (#305)

* added translation for fused CTC greedy decoder

* added tests for fused CTC greedy decoder

* fixed typos

* Update squeeze op translation to use input shape only when required

* Add env variable to select TOP K clusters for execution, update omit cluster logic in deassign clusters

* Update translation to handle dynamic shape for Range, and Zeroslike

* Comment out zeroslike from dynamic to static flow, as translation is modified to handle it

* Comment math_grad_test.SquaredDifferenceOpTest.testGrad test, failing with minor tolerance error after enabling double for certain OPs

* Update Range, Fill, Prod and OneHot op translations and static inputs to handle dynamic input shapes

* First cut of conv2d and fused conv2d with dynamic shape input

* fixed bug in layout transformation

* Cosmetic changes for dynamic conv2d support, add temp fix for protobuf version error in TF-2.8.0

* Add Cost based cluster de-assignment and fallback

- Added grappler/costs/cost_analyzer.cc, CostAnalyzer->PredictCosts  computes and tags node-wise runtime costs onto the graph as an attribute

- DeassignClusters uses node-wise costs to add up cluster-wise costs and keep only top-3 clusters and busts the rest

- At runtime, this cluster wise TF cost is compared against OV costs. Clusters which are costly yet perform poorly on OV fallsback to native session.

* Enable size translation to handle dynamic input shapes, and concat translation to handle zero dimension inputs

* Fix float to bool casting bug (#307)

* Update ocm; Add infer time measurement in OV

* Add OPENVINO_TF_MAX_CLUSTERS for TopK Costs

* Rewrite Pass API call change

* - Build both RewritePass and GrapplerOptimizationPass
- Add API that controls if RewritePass is run in a given scope; Gets disabled when optimize_graph_with_openvino() is called
- Add cluster_cost attr to nGraphEncapsulate NodeDef
- Set NumWarmupSteps for TF Profiler to 1

* Revert EvictAllClusters from OVTFOptimizer

* Enable rewrite pass to work alongside grappler pass (#310)

* Modify TopKV2 tranlsation to handle dynamic shapes, and remove the corresponding static input condition. Code formatting done

* Enable Rewrite Pass with Grappler pass
 *Modify deassign_clusters.cc to merge Min non trivial nodes changes with cost based deassignment logic
 *Enable Dynamic to Static flow for GPU with reduced cosntraints
 *Calculate cluster cost with native TF in compute kernel to decide run time assignment of cluster with Rewrite pass
 *Disable some of the NMS Ops in both grappler as well as Rewrite pass, as they are impacting performance of some OD models

* Fix IsRewritePassEnabled api call syntax at 2 places

* Add support for Frozen models with Grappler Pass (#311)

* Add TFV1 OptimizeGraph API for Frozen models

* Enable GrapplerOptimization pass for frozen models

- Cluster GraphDefs aren't destroyed for Grappler mode as CPU is the only backend made available for Grappler, creating a new Backend() should preserve any previously cached GraphDefs

* Remove Grappler Related Build Flags; For UTs assume no Grappler

* Remove Grappler pass tests; New tests TDB

* Removed call to `update_config`; fixes failing unit tests (#312)

* removed call to `update_config`

* added missing attr `cluster_cost`

* Fixes CI build failures (#314)

* fixed protobuf version bug

* cleanup: removed references to `infer_duration_in_ms`

* Revert optimize_graph call in classification sample

* cleanup post-processing

Co-authored-by: Suryaprakash Shanmugam <suryaprakash.shanmugam@intel.com>

* Add support for _MklSwish Op, generated when OneDNN optimizations are enabled (#316)

* Add env variable based disable option for cost based runtime cluster assignment (#317)

* Add checks, and refine optimize_graph_with_openvino_tfx APIs; Disable cost based fallback when Cluster Fallback is disabled (#318)

* Add TFV1 OptimizeGraph API for Frozen models

* Enable GrapplerOptimization pass for frozen models

- Cluster GraphDefs aren't destroyed for Grappler mode as CPU is the only backend made available for Grappler, creating a new Backend() should preserve any previously cached GraphDefs

* Remove Grappler Related Build Flags; For UTs assume no Grappler

* Fallback to TF only when Dynfallback is enabled in OpKernel Compute

* Add checks, refinements, and multi-input support for the optimize_graph API

* Add API Usage for optimize_graph_with_openvino_tf1

* Remove repeated protobuf install step

Co-authored-by: chandrakant khandelwal <chandrakant.khandelwal@intel.com>
Co-authored-by: Srihari Humbarwadi <srihari.humbarwadi@intel.com>

* Upgrade TensorFlow Support to v2.9.1 (#319)

* update tensorflow dependencies

* `cxx11_abi_version` flag now defaults to 1; added bazel version check

* upgrade to TF v2.9.1; removed flags `build_tf_from_source` and `disable_cpp_api`

* disabled unit tests that fail on native TF too

* change default `tf_version` to v2.9.1

* fixed TF wheel path for windows

* export missing symbols

* use `shutil.copytree` to copy artifacts on windows

* updated TF wheel URL for windows

* update ovtf version to `2.1.0`

* Renamed patch file

* Add fixes for issues from static code analysis tool (#320)

* Updated OCM submodule and fixed formatting (#322)

* Updated OCM

* Fixed formatting

* TF Upgrade in Dockerfiles (#321)

* Update TF version in notebooks and dockerfiles

* - Changes in dockerfile used for wheel builds to support new TF CXX11 Upgrade
- Rename Dockerfiles from 2.0.0 to 2.1.0
- Change OVTF version in Dockerfiles

* Make Docker as default container registry to pull openvino dev images

* Change crosstop_top toolchain to support manylinux2014 in TF build

* Remove ADD rename_wheel.sh

* Fix merge conflict in Ubuntu18 CI Dockerfile

* Upgrade OVTF version in sample notebooks

* Revert to working TF version in serving dockerfiles; Change OVTF version in notebook comments

* Revert OVTF version in Serving dockerfiles

* Remove env var from examples to enable ONEDNN, as it is default enabled from TF-2.9.x (#324)

* Remove env var from examples to enable ONEDNN, as it is default enabled from TF-2.9.x

* Update warm-up iterations in python samples and ipynb's

* Fix variable def scope error, occured after addition of warm-up iterations

* Code formatting

* Updated TF Serving Dockerfiles to support TensorFlow 2.9.1 (#325)

* Upgraded TF version; Skip building OVTF from source

* Fixed TF install bug; Made OV base image tags configurable

* Avoid installing TF again

* Add changes to Docker READMe. Remove unused TF_VERSION ARG

* Clarify headings; Fix 'Disable OpenVINO'

* Replace occurrences of OVTF

Co-authored-by: Suryaprakash Shanmugam <suryaprakash.shanmugam@intel.com>

* Adapt ZerosLike translation for dynamic input shape (#327)

* Fix macOS CI issues; Remove installed packages checking in Ipynb notebooks (#329)

* Upgrade TF Version to 2.9.1 in CI yml for MacOS

* Add enclosing brackets for average inference time calculation

* Upgrade TF and OV ABIs in macOS CI yml file

* Change build ABI flag of CI 0

* Remove package checking in notebooks

- Install TF and OVTF packages by default instead

* Use PyPi TF by default

* Use ABI1 by default

* Change to ABI0 build as PyPi TF is ABI0 on macOS

* Remove unwanted INSTALL step; Remove always() condition for samples

* Use test_runner instead of tf_unittest_runner for MYD TF Python UTs

Launch ut runner with os.system() on macOS to ignore exception

* Fix const op translation (#332)

* Fix copying values from const nodes, bug caught in Windows

* Update ocm submodule, test cases list updated for Myriad

* Remove unused commented code

* Fix TF backwards compatibility issues (#333)

* Enable Grappler only for TF version >=2.6

* Fix type conversion errors for TF 2.4.4

* Fix type conversion issues for TF 2.4.4

* Make base version of TF for Grappler support 2.8

* Fix code formatting

* Fix virtualenv issue in object detection notebook; Fix Windows build error for absl::GetCurrentTimeNanos() (#334)

* Add virtualenv step to isolate yolov4 model conversion

* Fix Windows build error for absl::GetCurrentTimeNanos()

* Revert metadata changes in object detection notebook

* Fix detection notebook issue on docker (#335)

* Update documentation for releases 2.1.0 (#323)

* Update documentation for releases 2.1.0
 *Update Installation and Build docs
 *Update main Readme and Python Readme
 *Update all other files for TF, OVTF versions, and Links if required

* Minor cosmetic changes in Build and Install.md files

* Reorganize env var documentation order, and add details of the OPENVINO_TF_MAX_CLUSTERS var in Usage.md

* Fix Build Instructions for macOS (#330)

* Update mandarin files for main readme, docker readme, and usage.md
 *Prelim attempt as the changes were not much in these files
 *These changes would be reviewed by the team handling the Translations

* Update installation table

* Update build and install mandarin docs

* Fix review comments

* Fix a typo in mandarin install doc

Co-authored-by: Suryaprakash Shanmugam <suryaprakash.shanmugam@intel.com>

* Update windows tf wheel link (#336)

* Remove optimize_graph API for v2.1.0 (#337)

Co-authored-by: Suryaprakash Shanmugam <suryaprakash.shanmugam@intel.com>
Co-authored-by: Srihari Humbarwadi <srihari.humbarwadi@intel.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants