tensorflow:: عملیات:: TensorArrayGrad

#include <data_flow_ops.h>

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

خلاصه

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

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

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

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

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

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

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

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

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

استدلال‌ها:

  • دامنه: یک شیء دامنه
  • handle: دستگیره TensorArray رو به جلو.
  • flow_in: یک اسکالر اعشاری که زنجیره‌سازی صحیح عملیات را اعمال می‌کند.
  • منبع: رشته منبع گرادیان، که برای تصمیم‌گیری در مورد اینکه کدام گرادیان 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
)