をカスタムモデルを使用したとき、私は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)と思います。
私が何かを逃したのですか?
でモデルを再訓練するときにメインスレッド上で推論を実行している完璧に動作しますか? –
いいえ、推論のための[背景スレッド](https://github.com/tensorflow/tensorflow/blob/6b1d4fd8090d44d20fdadabf06f1a9b178c3d80c/tensorflow/examples/android/src/org/tensorflow/demo/CameraConnectionFragment.java#L428)があります。 –