تجزیه مقادیر منفرد یک یا چند ماتریس را محاسبه می کند.
SVD هر ماتریس داخلی را در "ورودی" محاسبه می کند به طوری که "ورودی[..., :, :] = u[..., :, :] * diag(s[..., :, :]) * transpose(v[..., :, :])`
# a is a tensor containing a batch of matrices.
# s is a tensor of singular values for each matrix.
# u is the tensor containing the left singular vectors for each matrix.
# v is the tensor containing the right singular vectors for each matrix.
s, u, v = svd(a)
s, _, _ = svd(a, compute_uv=False)
کلاس های تو در تو
کلاس | Svd.Options | ویژگی های اختیاری برای Svd |
ثابت ها
رشته | OP_NAME | نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود |
روش های عمومی
Static Svd.Options | computeUv (Boolean computeUv) |
static <T TType > Svd <T> را گسترش می دهد | ایجاد ( دامنه دامنه ، ورودی عملوند <T>، گزینهها... گزینهها) روش کارخانه برای ایجاد کلاسی که یک عملیات جدید Svd را بسته بندی می کند. |
Static Svd.Options | فول ماتریس (ماتریس کامل بولی) |
خروجی <T> | s () مقادیر مفرد |
خروجی <T> | تو () بردارهای مفرد سمت چپ. |
خروجی <T> | v () بردارهای مفرد سمت چپ. |
روش های ارثی
ثابت ها
رشته نهایی ثابت عمومی OP_NAME
نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود
روش های عمومی
عمومی static Svd.Options computeUv (Boolean computeUv)
پارامترها
computeUv | اگر درست باشد، بردارهای منفرد چپ و راست به ترتیب در «u» و «v» محاسبه و برگردانده می شوند. اگر غلط باشد، «u» و «v» تنظیم نشدهاند و هرگز نباید ارجاع داده شوند. |
---|
عمومی استاتیک Svd <T> ایجاد ( دامنه دامنه ، ورودی عملوند <T>، گزینهها... گزینهها)
روش کارخانه برای ایجاد کلاسی که یک عملیات جدید Svd را بسته بندی می کند.
پارامترها
دامنه | محدوده فعلی |
---|---|
ورودی | یک تانسور شکل «[...، M، N]» که دو بعد داخلی آن ماتریسهایی به اندازه «[M، N]» تشکیل میدهند. اجازه دهید «P» حداقل «M» و «N» باشد. |
گزینه ها | مقادیر ویژگی های اختیاری را حمل می کند |
برمی گرداند
- یک نمونه جدید از Svd
استاتیک عمومی Svd.Options fullMatrices (fullMatrices بولی)
پارامترها
تمام ماتریس ها | اگر درست است، «u» و «v» را با اندازه کامل محاسبه کنید. اگر نادرست است (پیشفرض)، فقط بردارهای منفرد «P» را محاسبه کنید. اگر «compute_uv» «نادرست» باشد، نادیده گرفته میشود. |
---|
خروجی عمومی <T> u ()
بردارهای مفرد سمت چپ. اگر "ماتریس_کامل" "نادرست" باشد، شکل "[...، M، P]" است. اگر "ماتریس_کامل" "درست" باشد، شکل "[...، M، M]" است. اگر «compute_uv» «نادرست» باشد، تعریف نشده است.
خروجی عمومی <T> v ()
بردارهای مفرد سمت چپ. اگر "ماتریس_کامل" "نادرست" باشد، شکل "[...، N، P]" است. اگر «ماتریس_کامل» «درست» باشد، شکل «[...، N، N]» است. اگر «compute_uv» نادرست باشد، تعریف نشده است.