جریان تنسور:: عملیات:: TensorArrayGrad

#include <data_flow_ops.h>

یک TensorArray برای ذخیره گرادیان مقادیر در دسته داده شده ایجاد می کند.

خلاصه

اگر گرادیان TensorArray از قبل وجود داشته باشد، یک مرجع به آن برمی‌گرداند.

اندازه TensorArray اصلی را با غیرفعال کردن پرچم اندازه پویا قفل می کند.

نکته ای در مورد input flow_in:

Handle flow_in اجرای جستجوی گرادیان را مجبور می کند تنها پس از انجام برخی عملیات های دیگر انجام شود. به عنوان مثال، هنگامی که TensorArray جلو به صورت پویا اندازه می شود، نوشته های این TensorArray ممکن است اندازه شی را تغییر دهد. گرادیان TensorArray به صورت ایستا بر اساس اندازه TensorArray رو به جلو در هنگام اجرای این عملیات اندازه می شود. علاوه بر این، اندازه TensorArray رو به جلو با این فراخوان ثابت می شود. در نتیجه، جریان برای اطمینان از اینکه فراخوانی برای تولید گرادیان TensorArray فقط پس از اجرای همه نوشته‌ها اتفاق می‌افتد، استفاده می‌شود.

در مورد TensorArrayهای با اندازه پویا، محاسبه گرادیان فقط باید بر روی عملیات خواندنی انجام شود که خود از طریق جریان زنجیره‌ای شده‌اند تا تنها پس از اجرای همه نوشته‌ها اتفاق بیفتد. به این ترتیب اندازه نهایی TensorArray رو به جلو با فراخوانی این عملیات مشخص می شود.

نکته ای در مورد ویژگی منبع:

فراخوانی های گرادیان TensorArray از یک آبجکت TensorArray انباشته کننده استفاده می کنند. اگر چندین گرادیان محاسبه و در یک جلسه اجرا شود، گره‌های گرادیان متعدد ممکن است به طور تصادفی از یک انباشتگر TensorArray عبور کنند. این مضاعف شمارش می کند و به طور کلی جریان گرادیان TensorArray را می شکند.

راه حل این است که تشخیص دهیم این گرادیان TensorArray خاص به کدام یک از گرادیان فراخوانی می شود. این کار با شناسایی یک رشته منحصر به فرد (به عنوان مثال "gradients"، "gradients_1"، ...) از نام گرادیان ورودی Tensor انجام می شود. این رشته هنگام ایجاد شی گرادیان TensorArray در اینجا ( source ویژگی ) به عنوان پسوند استفاده می شود.

source مشخصه به عنوان پسوندی به نام TensorArray رو به جلو هنگام انجام ایجاد / جستجو اضافه می شود، به طوری که هر محاسبه گرادیان جداگانه انباشته کننده TensorArray خود را دریافت می کند.

استدلال ها:

  • scope: یک شی Scope
  • handle: دسته به سمت جلو TensorArray .
  • flow_in: یک اسکالر شناور که زنجیره مناسب عملیات را اعمال می کند.
  • منبع: رشته منبع گرادیان که برای تصمیم گیری اینکه کدام گرادیان TensorArray را برگرداند استفاده می شود.

برمی‌گرداند:

سازندگان و ویرانگرها

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

صفات عمومی

flow_out
grad_handle
operation

صفات عمومی

flow_out

::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
)