TensorArrayGrad

lớp cuối cùng công khai TensorArrayGrad

Tạo một TensorArray để lưu trữ gradient của các giá trị trong ô điều khiển đã cho.

Nếu gradient TensorArray đã cho đã 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 vô hiệu hóa cờ kích thước động của nó.

**Lưu ý về luồng đầu vào_in:**

Điều khiển flow_in buộc việc thực hiện tra cứu độ dốc chỉ xảy ra sau khi một số thao tác 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. Độ dốc 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ị cố định 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ả quá trình ghi được thực thi.

Trong trường hợp TensorArrays có kích thước động, tính toán độ dốc chỉ nên được thực hiện trên các hoạt động đọc đã được xâu chuỗi thông qua luồng chỉ xảy ra sau khi tất cả các thao tác ghi đã được thực thi. Bằng cách đó, kích thước cuối cùng của TensorArray chuyển tiếp sẽ đượ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 đố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. Số lượng này tăng gấp đôi và thường phá vỡ luồng gradient TensorArray.

Giải pháp là xác định lệnh gọi gradient nào mà 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ụ: "gradients", "gradients_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 tại đây (thuộc tính `source`).

Thuộc tính `source` được thêm làm hậu tố cho tên của TensorArray chuyển tiếp khi thực hiện tạo/tra cứu, để mỗi phép tính gradient riêng biệt có bộ tích lũy TensorArray riêng.

Phương pháp công khai

TensorArrayGrad tĩnh
tạo ( Phạm vi phạm vi , Xử lý toán hạng <?>, Toán hạng <Float> flowIn, Nguồn chuỗi)
Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác TensorArrayGrad mới.
Đầu ra <Float>
Đầu ra <?>

Phương pháp kế thừa

Phương pháp công khai

công khai tĩnh TensorArrayGrad tạo ( Phạm vi phạm vi, Xử lý toán hạng <?>, Toán tử <Float> flowIn, Nguồn chuỗi)

Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác TensorArrayGrad mới.

Thông số
phạm vi phạm vi hiện tại
xử lý Tay cầm của TensorArray chuyển tiếp.
dòng chảyTrong Một vô hướng float thực thi chuỗi hoạt động thích hợp.
nguồn Chuỗi nguồn gradient, được sử dụng để quyết định TensorArray gradient nào sẽ trả về.
Trả lại
  • một phiên bản mới của TensorArrayGrad

Đầu ra công khai <Float> flowOut ()

Đầu ra công khai <?> gradHandle ()