지정된 핸들에 값의 기울기를 저장하기 위한 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 누산기를 갖습니다.
공개 방법
정적 TensorArrayGrad | |
출력 <플로트> | 유출되다 () |
출력 <?> | 그라데이션 핸들 () |
상속된 메서드
공개 방법
public static TensorArrayGrad create ( 범위 범위, 피연산자 <?> 핸들, 피연산자 <Float> flowIn, 문자열 소스)
새로운 TensorArrayGrad 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.
매개변수
범위 | 현재 범위 |
---|---|
핸들 | 앞으로 TensorArray에 대한 핸들입니다. |
흐름 | 작업의 적절한 연결을 적용하는 부동 소수점 스칼라입니다. |
원천 | 반환할 그래디언트 TensorArray를 결정하는 데 사용되는 그래디언트 소스 문자열입니다. |
보고
- TensorArrayGrad의 새로운 인스턴스