2016-10-06 7 views
0

をカスタムモデルを使用したとき、私は8台の山車を予測するためinput_shape=[125,100,100,1]でモデルを訓練しました。デモのthese optionsをモデルの設定に合わせて変更しました。エラーTensorFlow Androidのカメラのデモで

それから私は、バッチサイズthe C++ side

private static final int BATCH_SIZE = 125; 

に別のオプションを追加し、私は私のテンソルの形状を確認するために、いくつかのデバッグ情報を印刷しました:

LOG (INFO) << "input node: " << input_tensors[0].first << ", " 
      << "input shape: " << input_tensors[0].second.shape().DebugString(); 

tensorflow_inference_jni.cc:198 input node: input_node, input shape: [125,100,100,1]

しかし、アプリケーションがクラッシュし、それが

vars->session->Run()関数を呼び出すだけで
A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 16574 (InferenceThread) 
私は BATCH_SIZE = 1を設定した場合

は今(常にバッチサイズの125]アプリケーションで訓練を受けたモデルで作業をクラッシュしていないが、それはこのエラーを返します。

E/native: tensorflow_inference_jni.cc:213 Error during inference: Invalid argument: Input to reshape is a tensor with 8 values, but the requested shape has 1000 
[[Node: output_node = Reshape[T=DT_FLOAT, Tshape=DT_INT32, _device="/job:localhost/replica:0/task:0/cpu:0"](fullyconnected2_1/BiasAdd, output_node/shape)]] 

このエラーで要求された形状1000がnum_outputです* batch_size私は(8 * 125)と思います。

enter image description here

私が何かを逃したのですか?

+0

でモデルを再訓練するときにメインスレッド上で推論を実行している完璧に動作しますか? –

+0

いいえ、推論のための[背景スレッド](https://github.com/tensorflow/tensorflow/blob/6b1d4fd8090d44d20fdadabf06f1a9b178c3d80c/tensorflow/examples/android/src/org/tensorflow/demo/CameraConnectionFragment.java#L428)があります。 –

答えて

0

私はので、私は形状[125,100,100,1]のテンソルでモデルを養うために持っていた訓練にバッチサイズをハードコーディングしました。これはモバイルにとってはあまりにも多すぎるため、Androidはアプリケーションを強制終了することに決めました。

私はbatch_size = 1

関連する問題