Python TensorFlow MTCNN模型能否转换为TensorFlow Lite格式?

Python TensorFlow MTCNN模型能否转换为TensorFlow Lite格式?,python,tensorflow,tensorflow-lite,Python,Tensorflow,Tensorflow Lite,我正在尝试将MTCNN模型从.pb文件转换为.tflite,并在输入和输出形状方面遇到问题。原始输入形状是?x?x3,输出形状是Nx4,其中N是检测到的面数 我尝试将输入形状设置为[None,None,3],并获取错误None仅在第一维中受支持。然后我将其设置为[500500,3],并获得其他错误检查失败:批==1500 vs.1。然后我将形状设置为[1500,500,3],并得到ValueError:张量'input'的形状不能从?,?,3更改为[1500,500,3]。形状的等级必须相等,但

我正在尝试将MTCNN模型从.pb文件转换为.tflite,并在输入和输出形状方面遇到问题。原始输入形状是?x?x3,输出形状是Nx4,其中N是检测到的面数

我尝试将输入形状设置为[None,None,3],并获取错误None仅在第一维中受支持。然后我将其设置为[500500,3],并获得其他错误检查失败:批==1500 vs.1。然后我将形状设置为[1500,500,3],并得到ValueError:张量'input'的形状不能从?,?,3更改为[1500,500,3]。形状的等级必须相等,但为3和4

UPD:我已将原始caffe模型从输入形状[None,None,3]转换为[500500,3],但这并不能解决问题


我想将此模型转换为.tflite格式。我真的可以这样做吗?

虽然这段代码可以解决这个问题,但如何以及为什么解决这个问题会真正有助于提高您的帖子质量,并可能导致更多的投票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请您的回答添加解释,并说明适用的限制和假设。这将不起作用,因为API用于保存的_模型时,输入是一个冻结的图形。虽然此代码可能会解决问题,但如何以及为什么解决问题将真正有助于提高您的帖子质量,而且可能会得到更多的支持票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请您的回答添加解释,并说明适用的限制和假设。这将不起作用,因为当API用于保存的模型时,输入是一个冻结的图形。
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.representative_dataset = representative_dataset
converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]
converter.inference_input_type = tf.uint8  # or tf.int8
converter.inference_output_type = tf.uint8  # or tf.int8
tflite_model = converter.convert()


with open('8bit_quantized_model_in_.tflite', 'wb') as f:
  f.write(tflite_model)

def representative_dataset():
    for i in range(<>):
      testimage = cv2.imread('path')
      yield [testimage.astype(np.float32)]