Python 如何将经过训练的管道模型保存到单个tflite文件中?
我训练了一个管道模型,它使用Python 如何将经过训练的管道模型保存到单个tflite文件中?,python,pipeline,Python,Pipeline,我训练了一个管道模型,它使用CountVectorizer,TfidfTransformer,OneVsRestClassifier和GridSearchCV 现在我想把它保存到一个tflite文件中,在我的Android应用程序上使用它 对于顺序模型(成功创建了我的tflite文件),我执行了以下操作: 将顺序模型保存到tflite文件中都很好 管道没有“save”属性,这与顺序模型不同,因此我尝试使用joblib保存管道模型,然后使用pickle保存管道模型,但都不起作用 假设pipelin
CountVectorizer
,TfidfTransformer
,OneVsRestClassifier
和GridSearchCV
现在我想把它保存到一个tflite文件中,在我的Android应用程序上使用它
对于顺序模型(成功创建了我的tflite文件),我执行了以下操作:
将顺序模型保存到tflite文件中都很好
管道没有“save”属性,这与顺序模型不同,因此我尝试使用joblib
保存管道模型,然后使用pickle
保存管道模型,但都不起作用
假设pipeline\u model
是我经过训练的模型(第一句中描述的模型)
现在创建了pb文件,我想创建一个tflite文件。由于它不是Keras模型,我无法使用来自Keras模型文件的,因此我尝试使用来自保存的模型的
pb_file = 'pipeline_model.pb'
tflite_file = "tflite_model.tflite"
converter = tf.lite.TFLiteConverter.from_saved_model(pb_file)
tflite_model = converter.convert()
open(tflite_file, "wb").write(tflite_model)
它在转换器=…
的第行生成错误:
OSError: SavedModel file does not exist at: pb_file.pb/{saved_model.pbtxt|saved_model.pb}
我试着在Kaggle、Colab和PyCharm IDE上运行它,使用tensorflow的两个版本(1和2),使用不同的文件扩展名,但似乎没有任何效果
我还注意到TFLiteConverter包含来自\u freezed\u graph
和来自\u session的方法,但这两个方法需要一个额外的参数,因此我认为这些方法不可能是解决方案
那么,如何从经过培训的管道模型中获取tflite文件呢?如果您找到任何解决方案,请告诉我您使用的库版本,因为在不同的lib上可能有不同的行为
pb_file = 'pipeline_model.pb'
tflite_file = "tflite_model.tflite"
converter = tf.lite.TFLiteConverter.from_saved_model(pb_file)
tflite_model = converter.convert()
open(tflite_file, "wb").write(tflite_model)
OSError: SavedModel file does not exist at: pb_file.pb/{saved_model.pbtxt|saved_model.pb}