TensorFlowの日本語まとめ

TensorFlowの公式サイトに書かれている英文を英語ど素人が翻訳(日本語訳/和訳)します。 間違いがありましたら、優しく教えていただけますと幸いです。 内容を理解したら、使ってみたい。

5.検証

上記の例では、OPは、任意の形状のテンソルに適用することを想定しました。ベクトルに適用されるのみの場合はどうなりますか?つまり、上記のカーネルの実装にチェックを追加することを意味します。

f:id:TensorFlow:20160102173329j:plain

スポンサーリンク

 

  void Compute(OpKernelContext* context) override {
    // Grab the input tensor
    const Tensor& input_tensor = context->input(0);

    OP_REQUIRES(context, TensorShapeUtils::IsVector(input_tensor.shape()),
                errors::InvalidArgument("ZeroOut expects a 1-D vector."));
    // ...
  }


これは入力ベクトルであり、そうでない場合、戻りInvalidArgument状態を設定したことを主張します。OP_REQUIRES macro3つの引数を取ります。

 

  • いずれかのOpKernelContextまたはそのSetStatus()メソッドのOpKernelConstructionポインタ(tensorflow/core/framework/op_kernel.hを参照)とすることができるcontext
  • Statusオブジェクトによって表される誤差自体は、 tensorflow/core/lib/core/status.hを参照してください。ステータスタイプ(頻繁にInvalidArgumentが、タイプのリストを参照)とメッセージの両方を持っています。エラーを構築するための機能は、 tensorflow/core/lib/core/errors.h中に見出すことができます。


別の方法として、あなたには、いくつかの関数から返されたStatus オブジェクトがエラーであるので、それを返す場合、OP_REQUIRES_OKを使用するかどうかをテストします。

 

 

 

(原文)

Adding a New Op