Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将经过训练的管道模型保存到单个tflite文件中?_Python_Pipeline - Fatal编程技术网

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}