ماتریس "a" را در ماتریس "ب" ضرب کنید.
ورودی ها باید ماتریس های دو بعدی باشند و بعد داخلی "a" باید با بعد بیرونی "b" مطابقت داشته باشد. هر دو "a" و "b" باید "Tensor" باشند نه "SparseTensor". این عملیات برای مواردی بهینه شده است که حداقل یکی از "a" یا "b" پراکنده باشد، به این معنا که نسبت زیادی از مقادیر صفر دارند. نقطه سر به سر استفاده از این در مقابل ضرب ماتریس متراکم در یک پلت فرم، 30 درصد مقادیر صفر در ماتریس پراکنده بود.
محاسبه گرادیان این عملیات تنها زمانی از پراکندگی در گرادیان ورودی استفاده می کند که آن گرادیان از یک Relu باشد.
کلاس های تو در تو
کلاس | SparseMatMul.Options | ویژگی های اختیاری برای SparseMatMul |
ثابت ها
رشته | OP_NAME | نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود |
روش های عمومی
استاتیک SparseMatMul.Options | aIsSparse (aIsSparse بولی) |
خروجی < TFloat32 > | asOutput () دسته نمادین تانسور را برمی گرداند. |
استاتیک SparseMatMul.Options | bIsSparse (بولی bIsSparse) |
استاتیک SparseMatMul | |
خروجی < TFloat32 > | |
استاتیک SparseMatMul.Options | transposeA (transposeA Boolean) |
استاتیک SparseMatMul.Options | transposeB (transposeB) |
روش های ارثی
ثابت ها
رشته نهایی ثابت عمومی OP_NAME
نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود
روش های عمومی
خروجی عمومی < TFloat32 > asOutput ()
دسته نمادین تانسور را برمی گرداند.
ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.
ایجاد SparseMatMul استاتیک عمومی ( دامنه دامنه ، Operand <? گسترش TNumber > a، Operand <? گسترش TNumber > b، گزینهها... گزینهها)
روش کارخانه برای ایجاد کلاسی که یک عملیات جدید SparseMatMul را بسته بندی می کند.
مولفه های
محدوده | محدوده فعلی |
---|---|
گزینه ها | مقادیر ویژگی های اختیاری را حمل می کند |
برمی گرداند
- یک نمونه جدید از SparseMatMul