Tensor

giao diện công cộng

Mảng đa chiều được đánh máy được sử dụng trong Tensorflow Lite.

Trình xử lý gốc của Tensor được quản lý bởi NativeInterpreterWrapper và máy khách không cần phải đóng. Tuy nhiên, khi NativeInterpreterWrapper đã bị đóng, bộ điều khiển tensor sẽ bị vô hiệu.

Các lớp lồng nhau

lớp học Tensor.QuantizationParams Các tham số lượng tử hóa tương ứng với bảng QuantizationParameters trong tệp lược đồ Mô hình TFLite.

Phương pháp công khai

ByteBuffer trừu tượng
asReadOnlyBuffer ()
Trả về chế độ xem ByteBuffer chỉ đọc của dữ liệu tensor.
kiểu dữ liệu trừu tượng
loại dữ liệu ()
Trả về DataType của các phần tử được lưu trữ trong Tensor.
int trừu tượng
numByte ()
Trả về kích thước, tính bằng byte, của dữ liệu tensor.
int trừu tượng
numKích thước ()
Trả về số thứ nguyên (đôi khi được gọi là thứ hạng ) của Tensor.
int trừu tượng
numElements ()
Trả về số phần tử trong chế độ xem phẳng (1-D) của tensor.
trừu tượng Tensor.QuantizationParams
lượng tử hóaParams ()
Trả về các tham số lượng tử hóa của tensor trong trình thông dịch sở hữu.
trừu tượng int[]
hình dạng ()
Trả về hình dạng của Tensor, tức là kích thước của từng chiều.
trừu tượng int[]
hình dạngChữ ký ()
Trả về hình dạng ban đầu của Tensor, tức là kích thước của từng chiều - trước khi thực hiện bất kỳ thay đổi kích thước nào.

Phương pháp công khai

tóm tắt công khai ByteBuffer asReadOnlyBuffer ()

Trả về chế độ xem ByteBuffer chỉ đọc của dữ liệu tensor.

Nói chung, phương pháp này hữu ích nhất để có được chế độ xem chỉ đọc của dữ liệu tensor đầu ra, *sau khi* suy luận đã được thực thi (ví dụ: thông qua InterpreterApi.run(Object, Object) ). Đặc biệt, một số biểu đồ có đầu ra được định hình động, điều này có thể khiến việc cung cấp bộ đệm đầu ra được xác định trước cho trình thông dịch trở nên khó khăn. Cách sử dụng ví dụ:

 interpreter.run(input, null);
 ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
 // Copy or read from outputBuffer.

CẢNH BÁO: Nếu tenxơ chưa được phân bổ, ví dụ: trước khi suy luận được thực hiện, kết quả sẽ không được xác định. Lưu ý rằng con trỏ tensor cơ bản cũng có thể thay đổi khi tensor bị vô hiệu theo bất kỳ cách nào (ví dụ: nếu suy luận được thực thi hoặc biểu đồ được thay đổi kích thước), do đó *không* an toàn khi giữ tham chiếu đến bộ đệm được trả về ngoài việc sử dụng ngay lập tức trực tiếp theo suy luận. Ví dụ về cách sử dụng *xấu*:

 ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
 interpreter.run(input, null);
 // Copy or read from outputBuffer (which may now be invalid).

Ném
Ngoại lệ Đối số bất hợp pháp nếu dữ liệu tensor chưa được phân bổ.

DataType trừu tượng công khai dataType ()

Trả về DataType của các phần tử được lưu trữ trong Tensor.

tóm tắt công khai int numBytes ()

Trả về kích thước, tính bằng byte, của dữ liệu tensor.

tóm tắt công khai int numDimensions ()

Trả về số thứ nguyên (đôi khi được gọi là thứ hạng ) của Tensor.

Sẽ là 0 cho đại lượng vô hướng, 1 cho vectơ, 2 cho ma trận, 3 cho tensor 3 chiều, v.v.

tóm tắt công khai int numElements ()

Trả về số phần tử trong chế độ xem phẳng (1-D) của tensor.

tóm tắt công khai Tensor.QuantizationParams quantizationParams ()

Trả về các tham số lượng tử hóa của tensor trong trình thông dịch sở hữu.

Chỉ các tensor lượng tử hóa mới có QuantizationParameters hợp lệ. Đối với tenxơ không được lượng tử hóa, các giá trị của thang đo và điểm 0 đều bằng 0.

tóm tắt công khai int[] hình dạng ()

Trả về hình dạng của Tensor, tức là kích thước của từng chiều.

Trả lại
  • một mảng trong đó phần tử thứ i là kích thước của chiều thứ i của tensor.

tóm tắt công khai int[] shapeSignature ()

Trả về hình dạng ban đầu của Tensor, tức là kích thước của từng chiều - trước khi thực hiện bất kỳ thay đổi kích thước nào. Kích thước không xác định được chỉ định với giá trị -1.

Trả lại
  • một mảng trong đó phần tử thứ i là kích thước của chiều thứ i của tensor.