ONE icon indicating copy to clipboard operation
ONE copied to clipboard

[onert] Support TFlite 2.8 for gpu_cl

Open YiHyunJin opened this issue 2 years ago • 18 comments

  1. Update the tensorflow version used in gpu_cl to 2.8.
  2. I added config file to download source code to build tensorflow lite 2.8.
  3. Applied changed api with update to 2.8.
  4. Delete unnecessary code.

ONE-DCO-1.0-Signed-off-by: HyunJin Yi [email protected]

YiHyunJin avatar Jun 13 '22 01:06 YiHyunJin

Our current TF is 2.8.0. Is there particular reason to use TF 2.7.0 ?

seanshpark avatar Jun 13 '22 01:06 seanshpark

@seanshpark There's no reason to use 2.7 instead of 2.8. I updated to 2.7 because my existing working repo used 2.7. Upgrading to 2.8 requires some modifications.

YiHyunJin avatar Jun 13 '22 01:06 YiHyunJin

There's no reason to use 2.7 instead of 2.8. I updated to 2.7 because my existing working repo used 2.7. Upgrading to 2.8 requires some modifications.

Can you please share background or purpose of this change? If there is an issue for this, please add a link.

seanshpark avatar Jun 13 '22 03:06 seanshpark

There's no reason to use 2.7 instead of 2.8. I updated to 2.7 because my existing working repo used 2.7. Upgrading to 2.8 requires some modifications.

Can you please share background or purpose of this change? If there is an issue for this, please add a link.

https://github.sec.samsung.net/tizen-sys-con/ONE/pull/185 https://github.sec.samsung.net/tizen-sys-con/ONE/pull/197

The OP not implemented in tf2.4 implemented ex separately. However, it is implemented in tf2.7, so I updated it to tf2.7. I don't want to use ex anymore.

YiHyunJin avatar Jun 13 '22 04:06 YiHyunJin

@nnfw-bot test cross-runtime-test-debug @nnfw-bot test cross-runtime-test-release

YiHyunJin avatar Jun 13 '22 04:06 YiHyunJin

https://github.sec.samsung.net/tizen-sys-con/ONE/pull/185 https://github.sec.samsung.net/tizen-sys-con/ONE/pull/197

Thesw two are PRs.

I asked Can you please share background or purpose of this change? If there is an issue for this, please add a link.

I don't understand how I could get the background or purpose of this PR.

seanshpark avatar Jun 13 '22 07:06 seanshpark

https://github.sec.samsung.net/tizen-sys-con/ONE/pull/185 https://github.sec.samsung.net/tizen-sys-con/ONE/pull/197

Thesw two are PRs.

I asked Can you please share background or purpose of this change? If there is an issue for this, please add a link.

I don't understand how I could get the background or purpose of this PR.

The OP not implemented in tf2.4 implemented ex separately.
However, it is implemented in tf2.7, so I updated it to tf2.7.
I don't want to use ex anymore.

Ex folder was removed in these PRs. So I linked these PRs.

We need Reduce Op, Split Op.... But Those OPs are not in TF2.4.1, but are in TF2.7.0. So I update TF2.4.1 to TF2.7.0.

YiHyunJin avatar Jun 13 '22 07:06 YiHyunJin

Ex folder was removed in these PRs. So I linked these PRs.

We need Reduce Op, Split Op.... But Those OPs are not in TF2.4.1, but are in TF2.7.0. So I update TF2.4.1 to TF2.7.0.

Are these only for Tizen? I know you work on Tizen so I can understand the changes for Tizen. I see changes for Android and also for Linux? But why these too? There are too many changes that just So I update TF2.4.1 to TF2.7.0. explanation is not enough. I don't review codes related for OneRT so actully don't care, but there are changes related with common part in infra (so I requested to separate them) and I also sometimes test with OneRT as a user and options_armv7l-linux.cmake changes affect this.

seanshpark avatar Jun 13 '22 07:06 seanshpark

Ex folder was removed in these PRs. So I linked these PRs. We need Reduce Op, Split Op.... But Those OPs are not in TF2.4.1, but are in TF2.7.0. So I update TF2.4.1 to TF2.7.0.

Are these only for Tizen? I know you work on Tizen so I can understand the changes for Tizen. I see changes for Android and also for Linux? But why these too? There are too many changes that just So I update TF2.4.1 to TF2.7.0. explanation is not enough. I don't review codes related for OneRT so actully don't care, but there are changes related with common part in infra (so I requested to separate them) and I also sometimes test with OneRT as a user and options_armv7l-linux.cmake changes affect this.

I am currently developing gpu_cl. I am updating the tensorflow version used in gpu_cl to 2.7 now. For this reason, We need Reduce Op, Split Op.... But Those OPs are not in TF2.4.1, but are in TF2.7.0. however, the gpu_cl test is running on Tizen, Andorid, and Linux. So I fixed them all. Changing the Tensorflow version will change the api we use. So it is difficult to change only the tizen.

YiHyunJin avatar Jun 13 '22 07:06 YiHyunJin

however, the gpu_cl test is running on Tizen, Andorid, and Linux. So I fixed them all.

Does this change work also in RPi4 Ubuntu 18.04/20.04?

seanshpark avatar Jun 13 '22 07:06 seanshpark

Does this change work also in RPi4 Ubuntu 18.04/20.04?

I didn't check it directly, but I checked it through "cross-runtime-test-debug" and "cross-runtime-test-release".

YiHyunJin avatar Jun 13 '22 07:06 YiHyunJin

@YiHyunJin , how about rebase this PR to version 2.8 of TensorFlow and send it back if it doesn't require a lot of effort?

ONE's TensorFlow support history is a bit complicated. It has been proceeding in the order of 2.2 -> 2.3 -> 2.4 -> 2.6 -> 2.8. Currently, version 2.8 is officially supported, but some modules are still stuck in the old version. For version 2.7, we never supported it. It doesn't seem appropriate to introduce new kernels to a version that has never been supported in the past.

Sooner or later, delayed upgrades of several modules will all have to match 2.8. In addition, it is necessary to upgrade again to version 2.9 afterward.

Considering these various situations, it is recommended to upgrade your work to support version 2.8 immediately.

lemmaa avatar Jun 13 '22 09:06 lemmaa

@YiHyunJin , how about rebase this PR to version 2.8 of TensorFlow and send it back if it doesn't require a lot of effort?

ONE's TensorFlow support history is a bit complicated. It has been proceeding in the order of 2.2 -> 2.3 -> 2.4 -> 2.6 -> 2.8. Currently, version 2.8 is officially supported, but some modules are still stuck in the old version. For version 2.7, we never supported it. It doesn't seem appropriate to introduce new kernels to a version that has never been supported in the past.

Sooner or later, delayed upgrades of several modules will all have to match 2.8. In addition, it is necessary to upgrade again to version 2.9 afterward.

Considering these various situations, it is recommended to upgrade your work to support version 2.8 immediately.

Okay. I will rebase this PR to version 2.8. :)

YiHyunJin avatar Jun 13 '22 22:06 YiHyunJin

@nnfw-bot cross-aarch64-runtime-test-release

YiHyunJin avatar Jun 16 '22 22:06 YiHyunJin

PTAL :)

YiHyunJin avatar Jul 01 '22 04:07 YiHyunJin

PTAL :)

YiHyunJin avatar Jul 28 '22 06:07 YiHyunJin

title Supoort typo

seanshpark avatar Jul 28 '22 23:07 seanshpark

@nnfw-bot test cross-runtime-test-debug

ragmani avatar Jul 29 '22 04:07 ragmani

Please go on without my approval.

seanshpark avatar Oct 04 '22 01:10 seanshpark

I removed @glistening from reviewer and merged because there is no reaction for a long time.

hseok-oh avatar Oct 04 '22 01:10 hseok-oh