Tensor

giao diện công khai Tensor

Một mảng đa chiều đã nhập được dùng trong Tensorflow Lite.

Tên người dùng gốc của Tensor do NativeInterpreterWrapper quản lý và ứng dụng không cần đóng. Tuy nhiên, sau khi NativeInterpreterWrapper đóng, tensor handle sẽ bị vô hiệu hoá.

Lớp lồng ghép

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

Phương thức công khai

trừu tượng ByteBuffer
Hàm asReadOnlyBuffer()
Trả về khung hiển thị ByteBuffer chỉ có thể đọc của dữ liệu tensor.
trừu tượng DataType
Hàm dataType()
Trả về DataType của các phần tử được lưu trữ trong Tensor.
trừu tượng int
numBytes()
Trả về kích thước của dữ liệu tensor, tính bằng byte.
trừu tượng int
numDimensions()
Trả về số lượng phương diện (đôi khi được gọi là thứ hạng) của Tensor.
trừu tượng int
numElements()
Trả về số phần tử trong khung hiển thị phẳng (1-D) của tensor.
trừu tượng Tensor.QuantizationParams
quantizationParams()
Trả về các tham số lượng tử hoá của tensor trong trình thông dịch sở hữu.
trừu tượng int[]
Hàm shape()
Trả về hình dạng của Tensor, tức là kích thước của mỗi chiều.
trừu tượng int[]
Hàm 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 đổi kích thước.

Phương thức công khai

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

Trả về khung hiển thị ByteBuffer chỉ có thể đọc của dữ liệu tensor.

Nhìn chung, phương thức này hữu ích nhất khi thu được khung hiển thị chỉ có thể đọ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ụ thể, một số biểu đồ có đầu ra được định hình linh động, điều này có thể khiến việc cấp vùng đệm đầu ra được xác định trước cho trình thông dịch gặp khó khăn. Ví dụ về cách sử dụng:

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

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

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

Gửi
IllegalArgumentException nếu dữ liệu tensor chưa được phân bổ.

công khai bản tóm tắt DataType dataType ()

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

Public abstract int numBytes ()

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

public abstract int numDimensions ()

Trả về số lượng phương diệ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.

public abstract int numElements ()

Trả về số phần tử trong khung hiển thị phẳng (1-D) của tensor.

công khai trừu tượng Tensor.QuantizationParams quantizationParams ()

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

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

công khai 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 mỗi chiều.

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

public abstract 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 đổi kích thước. Phương diện không xác định được chỉ định bằng giá trị -1.

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