StridedSliceHelper

کلاس انتزاعی عمومی StridedSliceHelper

روش های نقطه پایانی کمکی برای پایتون مانند نمایه سازی.

همچنین ببینید

سازندگان عمومی

روش های عمومی

استاتیک <T TType > StridedSlice <T> را گسترش می دهد
stridedSlice ( دامنه دامنه ، ورودی عملوند <T>، شاخص‌های فهرست... )
یک برش گام‌دار از «ورودی» برگردانید.
استاتیک <T TType > StridedSliceAssign <T> را گسترش می دهد
stridedSliceAssign ( scope scope، Operand <T> ref، Operand <T> مقدار، Index... Index)
"مقدار" را به مرجع l-value برش داده شده "ref" اختصاص دهید.

روش های ارثی

سازندگان عمومی

عمومی StridedSliceHelper ()

روش های عمومی

عمومی استاتیک StridedSlice <T> stridedSlice ( دامنه دامنه ، ورودی عملوند <T>، شاخص‌های Index... )

یک برش گام‌دار از «ورودی» برگردانید.

هدف این عملیات تولید یک تانسور جدید با زیرمجموعه‌ای از عناصر از تانسور «ورودی» بعدی «n» است. این زیرمجموعه با استفاده از دنباله ای از مشخصات محدوده پراکنده «m» که در آرگومان های این تابع کدگذاری شده اند، انتخاب می شود. توجه داشته باشید، در برخی موارد «m» می‌تواند برابر با «n» باشد، اما لازم نیست اینطور باشد. هر ورودی مشخصات محدوده می تواند یکی از موارد زیر باشد:

- بیضی (...) با استفاده از ellipsis() . بیضی ها برای دلالت بر صفر یا بیشتر ابعاد انتخاب تمام بعدی استفاده می شوند. به عنوان مثال، stridedSlice(foo, Indices.ellipsis() برش هویت است.

- یک محور جدید با استفاده از newAxis() . این برای درج یک بعد شکل = 1 جدید استفاده می شود. به عنوان مثال، stridedSlice(foo, Indices.newAxis()) که در آن foo شکل (3, 4) است، یک تانسور (1, 3, 4) تولید می کند.

- محدوده begin:end:stride با استفاده از slice(Long, Long, long) Index.slice()} یا all() . این برای تعیین میزان انتخاب از یک بعد معین استفاده می شود. stride می تواند هر عدد صحیحی باشد اما 0. begin یک عدد صحیح است که نمایانگر شاخص اولین مقداری است که باید انتخاب شود در حالی که end نشان دهنده شاخص آخرین مقداری است که باید انتخاب شود (انحصاری). شروع و پایان می توانند تهی باشند، در این صورت شاخص به ترتیب در ابتدا یا انتهای بعد شروع یا پایان می یابد (اگر گام منفی باشد معکوس می شود). وقتی هر دو تهی هستند، slice() همان all() است. تعداد مقادیر انتخاب شده در هر بعد end - begin اگر stride > 0 باشد و begin - end اگر stride < 0 باشد. begin و end می تواند منفی باشد که در آن -1 آخرین عنصر است، -2 دومین عنصر به آخر است. به عنوان مثال، با توجه به شکل (3,) تانسور stridedSlice(foo, Indices.all()) begin و end موثر 0 و 3 است. فرض نکنید که این معادل stridedSlice(foo, Indices.slice(0, -1)) است که begin و end موثر 0 و 2 دارد. مثال دیگر stridedSlice(foo, Indices.slice(-2, null, -1)) است که اولین بعد یک تانسور را معکوس می کند در حالی که دو بعدی آخر را حذف می کند (در عناصر ترتیب اصلی). به عنوان مثال foo = [1,2,3,4]; stridedSlice(foo, Indices.slice(-2, null, -1) [4,3] است.

- یک شاخص واحد با استفاده از at(long) . این فقط برای نگه داشتن عناصری استفاده می شود که دارای یک شاخص معین هستند. به عنوان مثال ( stridedSlice(foo, Indices.at(2)) روی یک تانسور شکل (5,6) یک تانسور شکل (6,) ایجاد می کند. بعد را می توان با استفاده از at(long, boolean) با اندازه یک نگه داشت.

این معناشناسی عموماً از معناشناسی نمایه سازی NumPy پیروی می کند که می توانید در اینجا پیدا کنید: https://numpy.org/doc/stable/reference/arrays.indexing.html

الزامات : «0 != گام‌های [i] برای i در [0، m)» فقط یک بیضی.

مولفه های
محدوده محدوده فعلی
شاخص ها شاخص ها برای برش. Indices ببینید.
برمی گرداند
  • یک نمونه جدید از StridedSlice
همچنین ببینید

عمومی ایستا StridedSliceAssign <T> stridedSliceAssign ( دامنه دامنه ، عملوند <T> مرجع، مقدار عملوند <T>، شاخص ... شاخص ها)

"مقدار" را به مرجع l-value برش داده شده "ref" اختصاص دهید.

مقادیر «value» به موقعیت‌هایی در متغیر «ref» که توسط پارامترهای برش انتخاب می‌شوند، اختصاص داده می‌شوند. پارامترهای برش «شروع»، «پایان»، «گام‌ها» و غیره دقیقاً مانند «StridedSlice» کار می‌کنند.

توجه داشته باشید که این عملیات در حال حاضر از پخش پشتیبانی نمی کند و بنابراین شکل "مقدار" باید دقیقاً شکلی باشد که توسط برش "ref" تولید می شود.

مولفه های
محدوده محدوده فعلی
مرجع تانسوری که باید به آن اختصاص دهیم.
ارزش مقدار برای تخصیص
شاخص ها شاخص ها برای برش. Indices ببینید.
برمی گرداند
  • یک نمونه جدید از StridedSliceAssign