最近发现以前的toco命令没法用了,换成了tf.lite。因此在此记录一下新的转换用法。
import tensorflow as tf
# Convert TF1 Keras model file to TF2 SavedModel.
model = tf.keras.models.load_model('.h5文件的路径')
model.save(filepath='SavedMode的路径')
# Convert TF2 SavedModel to a TFLite model.
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir='SavedMode的路径')
tflite_model = converter.convert()
# Save the model.
with open('model.tflite', 'wb') as f:
f.write(tflite_model)
复制上述代码,新建一个.py文件,命名为translator(随便一个英文的名字都可以)
需要修改的有:
你的.h5文件路径,格式为xxxx/xxx.h5
saved_model_dir,现在.h5文件不能直接转换为tflite,要先转换成.pb文件,SavedMode的路径就是.pb文件保存的路径,上述代码两处是一样的。
注意:这里tensorflow的版本是2.11.0,为了不打乱之前配置的环境,可以复制一个新的环境,在这个环境中将tf升级到2.11.0,这个环境只用来转换tflite。
复制环境的用法:
要使用Anaconda复制一个新环境,您可以按照以下步骤操作:
打开终端或Anaconda Prompt(如果使用Windows)。
使用以下命令列出当前可用的环境:conda info --envs。
选择您要复制的环境并激活它,例如:conda activate myenv。
使用以下命令创建新的环境,例如:conda create --name newenv --clone myenv。这将创建一个名为newenv的新环境,并将myenv环境中的所有包和依赖项复制到新环境中。
您可以使用以下命令激活新环境:conda activate newenv。
现在您可以在新环境中安装或卸载包,并进行其他操作,而不会影响原始环境。
注意,如果您只想复制环境的一部分而不是全部,可以使用以下命令创建一个新环境并手动安装所需的包和依赖项:conda create --name newenv pkg1 pkg2 ...。(g上复制来的)
5、在终端上cd到.py文件的根目录然后运行下列代码即可生成:
python translator.py