Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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
有没有办法将tensorflow lite(.tflite)文件转换回keras文件(.h5)?_Tensorflow_Tensorflow2.0_Tensorflow Datasets_Tensorflow Lite - Fatal编程技术网

有没有办法将tensorflow lite(.tflite)文件转换回keras文件(.h5)?

有没有办法将tensorflow lite(.tflite)文件转换回keras文件(.h5)?,tensorflow,tensorflow2.0,tensorflow-datasets,tensorflow-lite,Tensorflow,Tensorflow2.0,Tensorflow Datasets,Tensorflow Lite,我因一个粗心的错误而丢失了数据集。我手里只剩下我的tflite文件了。是否有任何解决方案可以反转回h5文件。我在这方面做了很好的研究,但没有找到解决方案 从TensorFlow SaveModel或tf.keras H5模型到.tflite的转换是一个不可逆的过程。具体而言,原始模型拓扑在TFLite转换器编译期间进行了优化,这会导致一些信息丢失。此外,原始tf.keras模型的loss和优化器配置也被丢弃,因为推理不需要这些配置 但是,.tflite文件仍然包含一些信息,可以帮助您恢复原始训练

我因一个粗心的错误而丢失了数据集。我手里只剩下我的tflite文件了。是否有任何解决方案可以反转回h5文件。我在这方面做了很好的研究,但没有找到解决方案

从TensorFlow SaveModel或tf.keras H5模型到.tflite的转换是一个不可逆的过程。具体而言,原始模型拓扑在TFLite转换器编译期间进行了优化,这会导致一些信息丢失。此外,原始tf.keras模型的loss和优化器配置也被丢弃,因为推理不需要这些配置

但是,.tflite文件仍然包含一些信息,可以帮助您恢复原始训练模型。最重要的是,权重值是可用的,尽管它们可能被量化,这可能会导致精度上的一些损失

下面的代码示例向您展示了如何在从简单的训练过的tf.keras.Model创建.tflite文件后从中读取权重值

将numpy作为np导入 导入tensorflow作为tf 首先,为演示目的创建并训练一个虚拟模型。 模型=tf.keras.Sequential[ tf.keras.layers.Dense10,输入_shape=[5],激活=relu, tf.keras.layers.Dense1,激活=乙状结肠] model.compileloss=binary\u crossentropy,optimizer=sgd xs=np.one[8,5] ys=np.零[8,1] model.fitxs,ys,epochs=1 将其转换为TFLite模型文件。 converter=tf.lite.TFLiteConverter.from_keras_modelmodel tflite_model=converter.convert openconverted.tflite,wb.writetflite_模型 使用`tf.lite.explorer`从文件系统加载写入的.tflite。 解释器=tf.lite.解释器模型_路径=converted.tflite all\u tensor\u details=解释器。获取\u tensor\u details 解释器.u张量 对于所有张量详情中的张量项: 打印重量%s:%tensor\u项目[名称] PrintExplorer.tensortensor_项[索引]
这些从.tflite文件加载回来的权重值可以与tf.keras.Model.set_weights方法一起使用,这将允许您将权重值重新注入到Python中的可训练模型的新实例中。显然,这要求您仍然可以访问定义模型体系结构的代码。

从TensorFlow SaveModel或tf.keras H5模型到.tflite的转换是一个不可逆转的过程。具体而言,原始模型拓扑在TFLite转换器编译期间进行了优化,这会导致一些信息丢失。此外,原始tf.keras模型的loss和优化器配置也被丢弃,因为推理不需要这些配置

但是,.tflite文件仍然包含一些信息,可以帮助您恢复原始训练模型。最重要的是,权重值是可用的,尽管它们可能被量化,这可能会导致精度上的一些损失

下面的代码示例向您展示了如何在从简单的训练过的tf.keras.Model创建.tflite文件后从中读取权重值

将numpy作为np导入 导入tensorflow作为tf 首先,为演示目的创建并训练一个虚拟模型。 模型=tf.keras.Sequential[ tf.keras.layers.Dense10,输入_shape=[5],激活=relu, tf.keras.layers.Dense1,激活=乙状结肠] model.compileloss=binary\u crossentropy,optimizer=sgd xs=np.one[8,5] ys=np.零[8,1] model.fitxs,ys,epochs=1 将其转换为TFLite模型文件。 converter=tf.lite.TFLiteConverter.from_keras_modelmodel tflite_model=converter.convert openconverted.tflite,wb.writetflite_模型 使用`tf.lite.explorer`从文件系统加载写入的.tflite。 解释器=tf.lite.解释器模型_路径=converted.tflite all\u tensor\u details=解释器。获取\u tensor\u details 解释器.u张量 对于所有张量详情中的张量项: 打印重量%s:%tensor\u项目[名称] PrintExplorer.tensortensor_项[索引] 这些从.tflite文件加载回来的权重值可以与tf.keras.Model.set_weights方法一起使用,这将允许您将权重值重新注入到Python中的可训练模型的新实例中。显然,这要求您仍然可以访问定义模型架构的代码