TensorArrayGrad

کلاس نهایی عمومی TensorArrayGrad

یک 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 خود را دریافت می کند.

روش های عمومی

استاتیک TensorArrayGrad
ایجاد ( scope scope، Operand <?> handle، Operand <Float> flowIn، String source)
روش Factory برای ایجاد کلاسی که یک عملیات TensorArrayGrad جدید را بسته بندی می کند.
خروجی <Float>
خروجی <?>

روش های ارثی

روش های عمومی

ایجاد عمومی ایستا TensorArrayGrad ( scope scope، Operand <?> handle، Operand <Float> flowIn، String source)

روش Factory برای ایجاد کلاسی که یک عملیات TensorArrayGrad جدید را بسته بندی می کند.

مولفه های
محدوده محدوده فعلی
رسیدگی دسته به سمت جلو TensorArray.
جریان در یک اسکالر شناور که زنجیره مناسب عملیات را اعمال می کند.
منبع رشته منبع گرادیان، برای تصمیم گیری اینکه کدام گرادیان TensorArray را برگرداند استفاده می شود.
برمی گرداند
  • یک نمونه جدید از TensorArrayGrad

خروجی عمومی <Float> flowOut ()

خروجی عمومی <?> gradHandle ()