Tải siêu dữ liệu từ Mô hình TFLite FlatBuffer.
Bạn có thể tạo FlatBuffer mô hình TFLite bằng tệp giản đồ Mô hình TFLite.
Một số mô hình chứa bộ đệm siêu dữ liệu TFLite, giúp ghi lại thêm thông tin về hoạt động của mô hình và cách diễn giải mô hình. Bạn có thể tạo bộ đệm siêu dữ liệu TFLite bằng cách sử dụng tệp giản đồ siêu dữ liệu TFLite.
Được phép truyền vào mô hình FlatBuffer mà không cần siêu dữ liệu TFLite. Tuy nhiên, việc gọi các phương thức đọc siêu dữ liệu TFLite sẽ gây ra lỗi thời gian chạy.
Tương tự, hệ thống được phép truyền vào FlatBuffer mô hình mà không cần tệp liên kết. Tuy nhiên, việc gọi các phương thức đọc các tệp liên kết sẽ gây ra lỗi thời gian chạy.
Mặc dù mô hình TFLite FlatBuffer hỗ trợ nhiều đồ thị con, nhưng tính đến nay, Trình phiên dịch TFLite chỉ hỗ trợ một đồ thị con duy nhất. Hãy xem hướng dẫn cách chỉ định biểu đồ con trong quá trình chuyển đổi để biết thêm thông tin. Do đó, MetadataExtractor
bỏ qua chỉ mục đồ thị con làm dữ liệu đầu vào trong phương thức.
Lớp lồng ghép
lớp | MetadataExtractor.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. |
Công trình công cộng
Phương thức công khai
InputStream | |
Đặt<String> |
Hàm getAssociatedFileNames()
Lấy tên tệp của các tệp liên kết.
|
int |
Hàm getInputTensorCount()
Lấy số lượng tensor đầu vào trong mô hình.
|
TensorMetadata |
getInputTensorMetadata(int inputIndex)
Lấy siêu dữ liệu cho tensor đầu vào do
inputIndex chỉ định. |
MetadataExtractor.QuantizationParams |
getInputTensorQuantizationParams(int inputIndex)
Lấy các tham số lượng tử hoá cho tensor đầu vào do
inputIndex chỉ định. |
int[] |
getInputTensorShape(int inputIndex)
Lấy hình dạng của tensor đầu vào với
inputIndex . |
byte |
getInputTensorType(int inputIndex)
Lấy
ERROR(/TensorType) của tensor đầu vào bằng inputIndex . |
ModelMetadata |
getModelMetadata()
Lấy trình xử lý gốc cho siêu dữ liệu của mô hình.
|
int |
Hàm getOutputTensorCount()
Lấy số lượng tensor đầu ra trong mô hình.
|
TensorMetadata |
getOutputTensorMetadata(int outputIndex)
Lấy siêu dữ liệu cho tensor đầu ra do
outputIndex chỉ định. |
MetadataExtractor.QuantizationParams |
getOutputTensorQuantizationParams(int outputIndex)
Lấy các tham số lượng tử hoá cho tensor đầu ra do
outputIndex chỉ định. |
int[] |
getOutputTensorShape(int outputIndex)
Lấy hình dạng của tensor đầu ra với
outputIndex . |
byte |
getOutputTensorType(int outputIndex)
Lấy
ERROR(/TensorType) của tensor đầu ra bằng outputIndex . |
boolean |
hasMetadata()
Trả về
true nếu mô hình có siêu dữ liệu. |
giá trị boolean |
isMinimumParserVersionSatisfied()
Trả về
true nếu phiên bản trình phân tích cú pháp tối thiểu bắt buộc theo vùng đệm phẳng siêu dữ liệu nhất định đứng trước hoặc bằng phiên bản của trình phân tích cú pháp siêu dữ liệu mà thư viện MetadataExtractor này đang dựa vào. |
Các phương thức kế thừa
Công trình công cộng
công khai MetadataExtractor (ByteBuffer vùng đệm)
Tạo MetadataExtractor
với mô hình TFLite FlatBuffer.
Thông số
bộ đệm | mô hình TFLite FlatBuffer |
---|
Gửi
IllegalArgumentException | nếu số lượng tensor đầu vào hoặc đầu ra trong mô hình không khớp với số lượng tensor trong siêu dữ liệu |
---|---|
IOException | nếu xảy ra lỗi khi đọc mô hình dưới dạng tệp Zip |
Phương thức công khai
công khai InputStream getAssociatedFile (String fileName)
Lấy tệp liên kết được đóng gói với fileName
được chỉ định.
Thông số
fileName | tên của tệp được liên kết |
---|
Giá trị trả về
- luồng đầu vào thô chứa tệp được chỉ định
Gửi
IllegalStateException | nếu mô hình không phải là tệp zip |
---|---|
IllegalArgumentException | nếu tệp được chỉ định không tồn tại trong mô hình |
công khai Đặt<String> getAssociatedFileNames ()
Lấy tên tệp của các tệp liên kết.
Giá trị trả về
- tên của các tệp được liên kết
Gửi
IllegalStateException | nếu mô hình không phải là tệp zip |
---|
công khai int getInputTensorCount ()
Lấy số lượng tensor đầu vào trong mô hình.
công khai TensorMetadata getInputTensorMetadata (int inputIndex)
Lấy siêu dữ liệu cho tensor đầu vào do inputIndex
chỉ định.
Thông số
inputIndex | chỉ mục của tensor đầu vào mong muốn |
---|
Gửi
IllegalStateException | nếu mô hình này không chứa siêu dữ liệu mô hình |
---|
công khai MetadataExtractor.QuantizationParams getInputTensorQuantizationParams (int inputIndex)
Lấy các tham số lượng tử hoá cho tensor đầu vào do inputIndex
chỉ định.
Thông số
inputIndex | chỉ mục của tensor đầu vào mong muốn |
---|
công khai int[] getInputTensorShape (int inputIndex)
Lấy hình dạng của tensor đầu vào với inputIndex
.
Thông số
inputIndex | chỉ mục của tensor đầu vào mong muốn |
---|
công khai byte getInputTensorType (int inputIndex)
Lấy ERROR(/TensorType)
của tensor đầu vào bằng inputIndex
.
Thông số
inputIndex | chỉ mục của tensor đầu vào mong muốn |
---|
công khai ModelMetadata getModelMetadata ()
Lấy trình xử lý gốc cho siêu dữ liệu của mô hình.
Gửi
IllegalStateException | nếu mô hình này không chứa siêu dữ liệu mô hình |
---|
công khai int getOutputTensorCount ()
Lấy số lượng tensor đầu ra trong mô hình.
công khai TensorMetadata getOutputTensorMetadata (int outputIndex)
Lấy siêu dữ liệu cho tensor đầu ra do outputIndex
chỉ định.
Thông số
outputIndex | chỉ mục của tensor đầu ra mong muốn |
---|
Gửi
IllegalStateException | nếu mô hình này không chứa siêu dữ liệu mô hình |
---|
công khai MetadataExtractor.QuantizationParams getOutputTensorQuantizationParams (int outputIndex)
Lấy các tham số lượng tử hoá cho tensor đầu ra do outputIndex
chỉ định.
Thông số
outputIndex | chỉ mục của tensor đầu ra mong muốn |
---|
công khai int[] getOutputTensorShape (int outputIndex)
Lấy hình dạng của tensor đầu ra với outputIndex
.
Thông số
outputIndex | chỉ mục của tensor đầu ra mong muốn |
---|
công khai byte getOutputTensorType (int outputIndex)
Lấy ERROR(/TensorType)
của tensor đầu ra bằng outputIndex
.
Thông số
outputIndex | chỉ mục của tensor đầu ra mong muốn |
---|
boolean công khai boolean hasMetadata ()
Trả về true
nếu mô hình có siêu dữ liệu. Nếu không, hãy trả về false
.
công khai cuối cùng boolean isMinimumParserVersionSatisfied ()
Trả về true
nếu phiên bản trình phân tích cú pháp tối thiểu bắt buộc theo vùng đệm phẳng siêu dữ liệu nhất định đứng trước hoặc bằng phiên bản của trình phân tích cú pháp siêu dữ liệu mà thư viện MetadataExtractor này đang dựa vào. Trong trường hợp này, tất cả các trường trong siêu dữ liệu đều có thể được phân tích cú pháp chính xác bằng thư viện trình trích xuất siêu dữ liệu này. Nếu không, hàm này sẽ trả về false
.
Ví dụ: giả sử phiên bản trình phân tích cú pháp siêu dữ liệu cơ bản là 1.14.1
,
- thì hàm sẽ trả về
true
, nếu phiên bản trình phân tích cú pháp tối thiểu bắt buộc giống hoặc cũ hơn, chẳng hạn như1.14.1
hoặc1.14.0
. Phiên bản rỗng đứng trước tất cả các phiên bản số, vì một số vùng đệm siêu dữ liệu được tạo trước bản phát hành có phiên bản đầu tiên;
- thì hàm sẽ trả về
false
, nếu phiên bản trình phân tích cú pháp tối thiểu bắt buộc mới hơn, chẳng hạn như1.14.2
.