도움말 Kaggle에 TensorFlow과 그레이트 배리어 리프 (Great Barrier Reef)를 보호하기 도전에 참여

tensorflow :: ops :: TensorArrayGrad

#include <data_flow_ops.h>

주어진 핸들에 값의 기울기를 저장하기위한 TensorArray 를 만듭니다.

요약

주어진 TensorArray 그래디언트가 이미 존재하는 경우 이에 대한 참조를 반환합니다.

동적 크기 플래그를 비활성화하여 원래 TensorArray 의 크기를 잠급니다.

입력 flow_in에 대한 참고 사항 :

flow_in 핸들은 특정 다른 작업이 발생한 후에 만 ​​그래디언트 조회를 실행하도록합니다. 예를 들어, 전방 때 TensorArray가 동적으로 크기가 조정됩니다,이에 대한 쓰기 TensorArray은 개체의 크기를 조정할 수 있습니다. 그래디언트 TensorArray 는이 작업이 실행될 때 정방향 TensorArray 의 크기에 따라 정적으로 크기가 조정됩니다. 또한이 호출에 의해 순방향 TensorArray 의 크기가 고정됩니다. 결과적으로 모든 쓰기가 실행 된 후에 만 ​​그래디언트 TensorArray 를 생성하기위한 호출이 발생하도록 흐름이 사용됩니다.

동적으로 크기가 조정 된 TensorArray의 경우 모든 쓰기가 실행 된 후에 만 ​​발생하도록 흐름을 통해 자체적으로 연결된 읽기 작업에 대해서만 그래디언트 계산을 수행해야합니다. 이렇게하면이 작업이 호출 될 때 순방향 TensorArray 의 최종 크기를 알 수 있습니다.

소스 속성에 대한 참고 :

TensorArray 그래디언트 호출은 누산기 TensorArray 객체를 사용합니다. 여러 그라디언트가 계산되고 동일한 세션에서 실행되는 경우 여러 그라디언트 노드가 실수로 동일한 누산기 TensorArray를 통해 흐를 수 있습니다. 이 두 배가 계산되고 일반적으로 TensorArray 그래디언트 흐름이 중단됩니다.

해결책은이 특정 TensorArray 그래디언트가 호출되는 그래디언트 호출을 식별하는 것입니다. 이는 입력 그래디언트 Tensor 의 이름에서 고유 한 문자열 (예 : "gradients", "gradients_1", ...)을 식별하여 수행됩니다. 이 문자열은 여기서 TensorArray 그래디언트 객체를 만들 때 접미사로 사용됩니다 ( source 속성).

속성 source 는 생성 / 조회를 수행 할 때 정방향 TensorArray 의 이름에 접미사로 추가되므로 각 개별 그래디언트 계산은 자체 TensorArray 누산기를 가져 옵니다 .

인수 :

  • 범위 : 범위 개체
  • handle : 앞으로 TensorArray에 대한 핸들입니다.
  • flow_in : 작업의 적절한 연결을 강제하는 부동 스칼라.
  • source : 반환 할 그라디언트 TensorArray 를 결정하는 데 사용되는 그라디언트 소스 문자열입니다.

보고:

생성자와 소멸자

TensorArrayGrad (const :: tensorflow::Scope & scope, :: tensorflow::Input handle, :: tensorflow::Input flow_in, StringPiece source)

공용 속성

flow_out
grad_handle
operation

공용 속성

유출되다

::tensorflow::Output flow_out

grad_handle

::tensorflow::Output grad_handle

조작

Operation operation

공공 기능

TensorArrayGrad

 TensorArrayGrad(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input handle,
  ::tensorflow::Input flow_in,
  StringPiece source
)