텐서플로우:: ops:: TensorArrayGrad
#include <data_flow_ops.h>주어진 핸들의 값에 대한 기울기를 저장할 TensorArray를 생성합니다.
요약
주어진 TensorArray 기울기가 이미 존재하는 경우, 해당 기울기에 대한 참조를 반환합니다.
원래 TensorArray 의 동적 크기 플래그를 비활성화하여 크기를 고정합니다.
입력 흐름에 대한 참고 사항:
`flow_in` 핸들은 특정 연산들이 완료된 후에만 그래디언트 조회 연산이 실행되도록 강제합니다. 예를 들어, 순방향 TensorArray 의 크기가 동적으로 결정되는 경우, 이 TensorArray 에 대한 쓰기 작업으로 인해 객체의 크기가 변경될 수 있습니다. 그래디언트 TensorArray 는 이 연산이 실행될 때 순방향 TensorArray 의 크기를 기준으로 정적으로 크기가 결정됩니다. 또한, 순방향 TensorArray 의 크기는 이 호출에 의해 고정됩니다. 결과적으로, `flow_in`은 모든 쓰기 작업이 완료된 후에만 그래디언트 TensorArray를 생성하는 호출이 발생하도록 보장하는 데 사용됩니다.
크기가 동적으로 변하는 TensorArray의 경우, 기울기 계산은 모든 쓰기 작업이 완료된 후에만 발생하도록 흐름(flow)을 통해 연결된 읽기 작업에 대해서만 수행해야 합니다. 이렇게 하면 해당 작업이 호출될 때 최종 TensorArray 의 크기를 알 수 있습니다.
소스 속성에 대한 참고 사항:
TensorArray의 기울기 계산은 누적 TensorArray 객체를 사용합니다. 동일한 세션에서 여러 기울기를 계산하고 실행하는 경우, 여러 기울기 노드가 실수로 동일한 누적 TensorArray를 통과할 수 있습니다. 이로 인해 기울기 계산이 중복되어 TensorArray 기울기 흐름이 제대로 작동하지 않게 됩니다.
해결 방법은 이 특정 TensorArray 기울기 함수가 호출되는 위치를 파악하는 것입니다. 이를 위해 입력 기울기 Tensor 의 이름에서 고유한 문자열(예: "gradients", "gradients_1" 등)을 찾아냅니다. 이 문자열은 여기에서 TensorArray 기울기 객체를 생성할 때 접미사로 사용됩니다( source 속성).
속성 ' source 생성/조회 시 순방향 TensorArray 이름에 접미사로 추가되어 각 개별 기울기 계산에 고유한 TensorArray 누산기가 생성됩니다.
논거:
- 범위: Scope 객체
- 핸들: 순방향 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 )