2017-09-27 8 views
0

guide에 따라 C++ 및 CUDA에서 사용자 정의 TensorFlow Op를 쓰고 있는데, ops 출력 모양의 설정에 대해 혼란 스럽습니다. 원하는 출력 치수를 속성으로 제공하고이 속성을 사용하여 모양을 설정하고자합니다. SetShapeFnTensorFlow 출력 모양이 도형 함수

내 op 코드는 위에 링크 된 예제와 매우 유사하지만 어떻게 작동하는지 잘 모르겠습니다. 이 방법으로 제공된 속성을 사용하십시오. 위의 연산 등록

REGISTER_OP("GaussianProcess") 
.Attr("output_dim: int") //This is the desired output dimension. 
.Input("data_points: float32") 
.Input("query_point: float32") 
.Input("alpha: float32") 
.Input("hyp: float32") 
.Output("shape_descriptor: float32") 
.SetShapeFn([](::tensorflow::shape_inference::InferenceContext* c) { 
     /* 
     Use attribute 'output_dim' here. 
     */ 
}); 

는 어떻게 하나 SetShapeFn에 전달 된 람다의 output_dim 속성에 액세스 것?

나는과 같이 호출에 전달 할 수 있어야합니다 :

c->set_output(0, output_dim); 

답변

0

InferenceContextGetAttr 방법을 통해 특성을 얻는 허용한다. 따라서 output_dim을 다음과 같이 설정할 수 있습니다.

int output_dim; 
c->GetAttr("output_dim", &output_dim); 

희망이 있습니다.

관련 문제