StridedSliceHelper

lớp trừu tượng công khai StridedSliceHelper

Các phương thức điểm cuối của trình trợ giúp dành cho Python như lập chỉ mục.

Xem thêm

Nhà xây dựng công cộng

Phương pháp công khai

tĩnh <T mở rộng TType > StridedSlice <T>
sải bước ( Phạm vi phạm vi, đầu vào Toán hạng <T>, Chỉ mục... chỉ mục)
Trả về một lát cắt có sải bước từ `input`.
tĩnh <T mở rộng TType > StridedSliceAssign <T>
sải bướcSliceAssign ( Phạm vi phạm vi, tham chiếu Toán hạng <T>, Giá trị toán hạng <T>, Chỉ mục... chỉ mục)
Gán `value` cho tham chiếu giá trị l được cắt lát của `ref`.

Phương pháp kế thừa

Nhà xây dựng công cộng

công khai StridedSliceHelper ()

Phương pháp công khai

public static StridedSlice <T> stredSlice ( Phạm vi phạm vi , đầu vào Toán hạng <T>, Chỉ mục... chỉ mục)

Trả về một lát cắt có sải bước từ `input`.

Mục tiêu của hoạt động này là tạo ra một tensor mới với một tập hợp con các phần tử từ tensor `n` chiều `input`. Tập hợp con được chọn bằng cách sử dụng một chuỗi các đặc tả phạm vi thưa thớt `m` được mã hóa thành các đối số của hàm này. Lưu ý, trong một số trường hợp `m` có thể bằng `n`, nhưng trường hợp này không nhất thiết phải như vậy. Mỗi mục nhập đặc tả phạm vi có thể là một trong những mục sau:

- Dấu chấm lửng (...) sử dụng ellipsis() . Hình elip được sử dụng để ngụ ý không hoặc nhiều kích thước của lựa chọn kích thước đầy đủ. Ví dụ: stridedSlice(foo, Indices.ellipsis() là lát cắt nhận dạng.

- Một trục mới sử dụng newAxis() . Điều này được sử dụng để chèn một hình dạng mới = 1 chiều. Ví dụ: ` stridedSlice(foo, Indices.newAxis()) trong đó foo là hình dạng (3, 4) tạo ra một tensor (1, 3, 4) .

- Một phạm vi begin:end:stride sử dụng slice(Long, Long, long) Index.slice()} hoặc all() . Điều này được sử dụng để chỉ định số lượng cần chọn từ một thứ nguyên nhất định. stride có thể là bất kỳ số nguyên nào ngoại trừ 0. begin là số nguyên biểu thị chỉ mục của giá trị đầu tiên cần chọn trong khi end biểu thị chỉ mục của giá trị cuối cùng cần chọn (độc quyền). Bắt đầu và kết thúc có thể là null, trong trường hợp đó chỉ mục bắt đầu hoặc kết thúc ở đầu hoặc cuối của thứ nguyên tương ứng (đảo ngược nếu bước tiến là âm). Khi cả hai đều rỗng, slice() giống với all() . Số lượng giá trị được chọn trong mỗi thứ nguyên là end - begin nếu stride > 0begin - end nếu stride < 0 . beginend có thể âm trong đó -1 là phần tử cuối cùng, -2 là phần tử thứ hai cuối cùng. Ví dụ: cho một hình dạng (3,) tensor stridedSlice(foo, Indices.all()) , điểm beginend hiệu quả là 03 . Đừng cho rằng điều này tương đương với stridedSlice(foo, Indices.slice(0, -1)) có điểm beginend hiệu quả là 02 . Một ví dụ khác là stridedSlice(foo, Indices.slice(-2, null, -1)) đảo ngược chiều thứ nhất của một tensor trong khi bỏ hai chiều cuối cùng (theo các phần tử thứ tự ban đầu). Ví dụ foo = [1,2,3,4]; stridedSlice(foo, Indices.slice(-2, null, -1)[4,3] .

- Một chỉ mục duy nhất sử dụng at(long) . Điều này được sử dụng để chỉ giữ lại các phần tử có chỉ mục nhất định. Ví dụ: ( stridedSlice(foo, Indices.at(2)) trên một tenxơ hình (5,6) tạo ra một tenxơ hình (6,) . Kích thước có thể được giữ ở kích thước một bằng cách sử dụng at(long, boolean) .

Các ngữ nghĩa này thường tuân theo ngữ nghĩa lập chỉ mục của NumPy, có thể tìm thấy ở đây: https://numpy.org/doc/stable/reference/arrays.indexing.html

Yêu cầu : `0 != sải bước[i] for i in [0, m)` Chỉ có một dấu chấm lửng.

Thông số
phạm vi phạm vi hiện tại
chỉ số Các chỉ số để cắt. Xem Indices .
Trả lại
  • một phiên bản mới của StridedSlice
Xem thêm

public static StridedSliceAssign <T> stridedSliceAssign ( Phạm vi phạm vi, Toán hạng <T> ref, Giá trị toán hạng <T>, Chỉ mục... chỉ mục)

Gán `value` cho tham chiếu giá trị l được cắt lát của `ref`.

Các giá trị của `value` được gán cho các vị trí trong biến `ref` được chọn bởi các tham số lát cắt. Các tham số lát cắt `begin`, `end`, `sải bước`, v.v. hoạt động chính xác như trong `StridedSlice`.

LƯU Ý op này hiện không hỗ trợ phát sóng và vì vậy hình dạng của `giá trị` phải chính xác là hình dạng được tạo bởi lát cắt của `ref`.

Thông số
phạm vi phạm vi hiện tại
giới thiệu tensor để gán cho.
giá trị giá trị để gán.
chỉ số Các chỉ số để cắt. Xem Indices .
Trả lại
  • một phiên bản mới của StridedSliceAssign