dòng chảy :: hoạt động :: TensorArrayGrad

#include <data_flow_ops.h>

Tạo một TensorArray để lưu trữ các độ dốc của giá trị trong xử lý đã cho.

Tóm lược

Nếu gradient TensorArray nhất định đã tồn tại, hãy trả về một tham chiếu đến nó.

Khóa kích thước của TensorArray ban đầu bằng cách tắt cờ kích thước động của nó.

Lưu ý về flow_in đầu vào:

Xử lý flow_in buộc việc thực hiện tra cứu gradient chỉ xảy ra sau khi một số hoạt động khác đã xảy ra. Ví dụ, khi TensorArray chuyển tiếp có kích thước động, việc ghi vào TensorArray này có thể thay đổi kích thước đối tượng. Gradient TensorArray có kích thước tĩnh dựa trên kích thước của TensorArray chuyển tiếp khi thao tác này thực thi. Hơn nữa, kích thước của TensorArray chuyển tiếp bị đóng băng bởi lệnh gọi này. Do đó, luồng được sử dụng để đảm bảo rằng lệnh gọi tạo gradient TensorArray chỉ xảy ra sau khi tất cả các lần ghi được thực hiện.

Trong trường hợp TensorArrays có kích thước động, tính toán gradient chỉ nên được thực hiện trên các hoạt động đọc mà bản thân chúng đã được xâu chuỗi thông qua luồng để chỉ xảy ra sau khi tất cả các lần ghi đã được thực hiện. Bằng cách đó, kích thước cuối cùng của TensorArray chuyển tiếp được biết khi thao tác này được gọi.

Lưu ý về thuộc tính nguồn:

Các cuộc gọi gradient TensorArray sử dụng một đối tượng TensorArray tích lũy. Nếu nhiều gradient được tính toán và chạy trong cùng một phiên, nhiều nút gradient có thể vô tình chảy qua cùng một bộ tích lũy TensorArray . Điều này đếm gấp đôi và thường phá vỡ luồng chuyển sắc TensorArray .

Giải pháp là xác định gradient nào gọi gradient TensorArray cụ thể này đang được gọi. Điều này được thực hiện bằng cách xác định một chuỗi duy nhất (ví dụ: "gradient", "gradient_1", ...) từ tên của gradient Tensor đầu vào. Chuỗi này được sử dụng làm hậu tố khi tạo đối tượng gradient TensorArray ở đây ( source thuộc tính).

Thuộc tính source được thêm vào như là một hậu tố để chuyển tiếp các TensorArray tên 's khi thực hiện việc tạo ra / tra cứu, vì vậy mà mỗi tính Gradient riêng biệt được của riêng mình TensorArray accumulator.

Tranh luận:

  • phạm vi: Một đối tượng Phạm vi
  • xử lý: Xử lý để chuyển tiếp TensorArray .
  • flow_in: Một đại lượng vô hướng float thực thi chuỗi hoạt động thích hợp.
  • source: Chuỗi nguồn gradient, được sử dụng để quyết định TensorArray chuyển màu nào sẽ trả về.

Lợi nhuận:

Người xây dựng và Người phá hủy

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

Thuộc tính công khai

flow_out
grad_handle
operation

Thuộc tính công khai

flow_out

::tensorflow::Output flow_out

grad_handle

::tensorflow::Output grad_handle

hoạt động

Operation operation

Chức năng công cộng

TensorArrayGrad

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