質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

0回答

1349閲覧

転移学習したTensorflow Lite をAndroidStudioで動かしたときのエラー  Cannot copy to a TensorFlowLite

tukim

総合スコア8

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

1クリップ

投稿2020/12/15 08:16

現状

AndroidStuidioに自分で転移学習したTensorflowLiteを動かしたいが、Tensorflow 1.xでいろいろ試してだめだったため、Tenosrflow2で動かしたところ異なる部分でつまづいてしまった。
環境
windows 10
Android Studio 4.01
Tensorflow 2.4.0rc0
Tensorflowモデル ssd_mobilenet_v2_fpnlite_320x320_coco17_tpu-8

エラーの内容

作成したtfliteファイルをAndroidStudioで動かしたときのエラー

java.lang.IllegalArgumentException: Cannot copy to a TensorFlowLite tensor (normalized_input_image_tensor) with 4 bytes from a Java Buffer with 1080000 bytes.

以前Tensorflow1.15で試したときは以下のように出た。

java.lang.IllegalArgumentException: Cannot copy to a TensorFlowLite tensor (normalized_input_image_tensor) with 270000 bytes from a Java Buffer with 1080000 bytes.

このときはconfigファイルでinput_shapeを変え何とかなったがあまりに数値が違うためtfliteファイルのconvertの時点で間違っていると考えた。TFLiteConverter.from_saved_modelの公式の記事よりこの変換方法ではshape を指定するオプションを持たないそうなのでこれが原因だと思い

model = tf.saved_model.load(export_dir) concrete_func = model.signatures[ tf.saved_model.DEFAULT_SERVING_SIGNATURE_DEF_KEY] concrete_func.inputs[0].set_shape([1, 256, 256, 3]) converter = TFLiteConverter.from_concrete_functions([concrete_func])

こちらのコードを実行したところconcrete_func.inputs[0].set_shape([1, 256, 256, 3])の部分で以下のエラーが発生しこれ以上分からなくなってしまった。

ValueError: Shapes must be equal rank, but are 2 and 4

さいごに

AndroidStudioでTFliteを動かすためいろいろと試していますがどれも上手くいきません。
もしこの方法でも異なる方法でもできた方、どんなことでもいいので意見を頂けるととても助かります。よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問