將 TensorFlow 模型轉換為 TensorFlow Lite 模型。
用法
tf.lite.TFLiteConverter(
funcs, trackable_obj=None
)
參數
-
funcs
TensorFlow ConcreteFunction 列表。該列表不應包含重複的元素。 -
trackable_obj
與funcs
關聯的 tf.AutoTrackable 對象。需要維護對該對象的引用,以便變量不會被垃圾收集,因為函數對變量的引用很弱。僅當用戶不維護 tf.AutoTrackable 對象時才需要這樣做(例如from_saved_model
)。
屬性
-
optimizations
實驗標誌,可能會發生變化。要應用的優化集。例如 {tf.lite.Optimize.DEFAULT}。 (默認無,必須是無或一組類型的值tf.lite.Optimize
) -
representative_dataset
用於整數量化的生成器函數,其中每個生成的樣本具有與模型輸入相同的順序、類型和形狀。通常,這是從訓練或評估數據集中隨機選擇的數百個樣本的一小部分,沒有特定的順序。這是一個可選屬性,但對於完整整數量化是必需的,即,如果tf.int8
是target_spec.supported_types
中唯一支持的類型。請參閱tf.lite.RepresentativeDataset
。 (默認無) -
target_spec
實驗標誌,可能會發生變化。目標設備的規格,包括支持的操作集、支持的類型和一組用戶定義的 TensorFlow Lite 運行時所需的 TensorFlow 算子。請參閱tf.lite.TargetSpec
。 -
inference_input_type
輸入層的數據類型。請注意,整數類型(tf.int8 和 tf.uint8)目前僅支持用於訓練後整數量化和量化感知訓練。 (默認 tf.float32,必須在 {tf.float32, tf.int8, tf.uint8} 中) -
inference_output_type
輸出層的數據類型。請注意,整數類型(tf.int8 和 tf.uint8)目前僅支持用於訓練後整數量化和量化感知訓練。 (默認 tf.float32,必須在 {tf.float32, tf.int8, tf.uint8} 中) -
allow_custom_ops
指示是否允許自定義操作的布爾值。當為 False 時,任何未知操作都是錯誤。當為 True 時,將為任何未知的操作創建自定義操作。開發人員需要使用自定義解析器將這些提供給 TensorFlow Lite 運行時。 (默認為假) -
experimental_new_converter
實驗標誌,可能會發生變化。啟用基於 MLIR 的轉換。 (默認為真) -
experimental_new_quantizer
實驗標誌,可能會發生變化。啟用基於 MLIR 的量化轉換,而不是基於 Flatbuffer 的轉換。 (默認為真) -
experimental_enable_resource_variables
實驗標誌,可能會發生變化。啟用此轉換器轉換資源變量。僅當使用from_saved_model 接口時才允許這樣做。 (默認為假)
示例用法:
# Converting a SavedModel to a TensorFlow Lite model.
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
tflite_model = converter.convert()
# Converting a tf.Keras model to a TensorFlow Lite model.
converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()
# Converting ConcreteFunctions to a TensorFlow Lite model.
converter = tf.lite.TFLiteConverter.from_concrete_functions([func], model)
tflite_model = converter.convert()
# Converting a Jax model to a TensorFlow Lite model.
converter = tf.lite.TFLiteConverter.experimental_from_jax([func], [[
('input1', input1), ('input2', input2)])
tflite_model = converter.convert()
相關用法
- Python tf.lite.Interpreter.get_signature_runner用法及代碼示例
- Python tf.lite.experimental.QuantizationDebugger用法及代碼示例
- Python tf.lite.Interpreter.tensor用法及代碼示例
- Python tf.lite.Interpreter.get_signature_list用法及代碼示例
- Python tf.lite.experimental.authoring.compatible用法及代碼示例
- Python tf.lite.Interpreter.resize_tensor_input用法及代碼示例
- Python tf.lite.Interpreter用法及代碼示例
- Python tf.lite.experimental.load_delegate用法及代碼示例
- Python tf.linalg.LinearOperatorFullMatrix.matvec用法及代碼示例
- Python tf.linalg.LinearOperatorToeplitz.solve用法及代碼示例
- Python tf.linalg.LinearOperatorIdentity.solvevec用法及代碼示例
- Python tf.linalg.LinearOperatorPermutation.solve用法及代碼示例
- Python tf.linalg.band_part用法及代碼示例
- Python tf.linalg.LinearOperatorKronecker.diag_part用法及代碼示例
- Python tf.linalg.lu_matrix_inverse用法及代碼示例
- Python tf.linalg.LinearOperatorToeplitz.matvec用法及代碼示例
- Python tf.linalg.LinearOperatorBlockLowerTriangular.solvevec用法及代碼示例
- Python tf.linalg.LinearOperatorLowerTriangular.matvec用法及代碼示例
- Python tf.linalg.LinearOperatorCirculant2D.solve用法及代碼示例
- Python tf.linalg.LinearOperatorCirculant3D.diag_part用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.lite.TFLiteConverter。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。