tensorflow / tensorflow/java

SavedModelBundle Unable to Load Models with coo_sparse Encoded Input

オープン
#501 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Java
スター
928
フォーク
227
PR マージ指標
30日以内にマージされた PR はありません

説明

Was trying to load a model using SavedModelBundle.load(savedModelPath, "serve") but ran into the operand "" does not exist on the graph issue. Error log:
empty_operand_error_log_censored

Looking into Tensorflow Java source code this error is raised here.

And by inspecting the model being loaded the corresponding input tensor is coo_sparse encoded:
coo_sparse_encoded_censored

It appears to me that when building TensorDescription the library doesn't take coo_sparse encoded format into account: code link: it's trying to fetch the name field which is always empty for coo_sparse encoded format, because together with the name field it's oneof in TensorInfo proto: code link.

Is this a known unsupported feature or would the model loading just work if the validation is bypassed?

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

TensorFlow Java の TensorFunction.java と Signature.java から始め、meta_graph.proto の coo_sparse oneof と、それらの TensorInfo の処理を比較します。説明されている SavedModelBundle の読み込みを再現し、検証またはモデルの読み込みを変更する必要があるかどうかを判断します。サポートされる動作が確立され、適切な回帰チェックでカバーされるか、サポート対象外として文書化されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
machine-learning
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。