テンソルフローの新しい演算子を定義するための公式ガイドに従っています。 https://www.tensorflow.org/extend/adding_an_opC++で新しいTensorflow演算子の定義を理解する
#include "tensorflow/core/framework/op.h"
#include "tensorflow/core/framework/shape_inference.h"
using namespace tensorflow;
REGISTER_OP("ZeroOut")
.Input("to_zero: int32")
.Output("zeroed: int32")
.SetShapeFn([](::tensorflow::shape_inference::InferenceContext* c){
c->set_output(0, c->input(0));
return Status::OK();
});
しかし、私はこのコードの行ごとの説明を見つけることができない、特に私が.SetShapeFnの役割が何であるかを理解していない([](:: tensorflow :: shape_inference :: InferenceContext * c)とその構文。また、私はInferenceContextに困惑しています。それは、配列の要素を1つずつ連続して渡す方法であると推測しています。どこでも明示的な定義を見つけることができませんでした。場所を教えてもらえますか? このコードがフードの下で何をしているのかを深く理解したいのですが、