2016-06-20 6 views
1

私はOpKernelの計算()メソッド内で午前と入力テンソルにアクセスし、例えば、使用している場合:Computeメソッド内でアクセスされたTensorデータの寿命(flat()やvec()など)はどのくらいですか?

auto data = context->input(0).vec<string>(); 

dataの寿命は何ですか?そのオブジェクトをクラス状態変数に格納し、その後の実行でデータを有効なままにすることはできますか?

そうでない場合は、データをコピーするための正しいメモリ管理手法は何ですか?

例へのポインタが最も高く評価されます。

data

答えて

1

目的は、tensorflow::Tensorオブジェクト内生バッファにポインタを借り含む、Eigen::TensorMap<string, 1>あります。 tensorflow::Tensorオブジェクトが破棄されていないことを確認する必要があります。これを行う最も簡単な方法は、クラスのメンバー変数としてtensorflow::Tensorを保存することです。 (tensorflow::Tensor自体に参照カウントバッファが含まれているため、そのタイプのオブジェクトを「コピーする」のは比較的安価です)

関連する問題