首先介绍几个概念,个人理解,希望读者指正:

1、tensorflow的ckpt模型

2、tensorflow的pb模型

3、tensorflow的tflite模型

1、tensorflow的ckpt模型和pb模型

话不多说,我用最少的语句介绍,我们通常使用saver=tf.train.import_meta_graph和saver.restore使用的是ckpt模型model 

model name LFW accuracy training datasets Architecture
20180402-114759 0.9965 VGGFace2 Inception ResNet v1

就拿FaceNet(20180402-114759)举例,文件目录如下MTCNN、FaceNet转tflite模型,迁移至安卓使用(1)

(a)model-20180402-114759.ckpt-275.data-00000-of-00001

model-20180402-114759.ckpt-275.index 

这两个文件是二进制文件,其中包含所有的权值,偏差,梯度和其他所有保存的值。或者说保存了参数和参数列表。

(b)model-20180402-114759.meta 

这个文件是一个保存完整的Tensorflow图的协议缓存区,即所有的变量操作,集合等等。该文件具有.meta扩展名。

(c)20180402-114759.pb

注意上面的保存参数的值文件,和保存图文件是分下来的。这个pb文件是将图和参数的值保存到一个文件。

总结:ckpt模型就是将图和参数的值保存两个文件,pb模型就是讲图和参数的值保存为一个文件。

注意:一些pb模型保存了图和图中的常量,但不保存变量。“冻结”过的pb模型将模型里面的所有变量都变为常量,那么就可以直接使用.pb文件做成接口,无需.ckpt文件再次导入变量的值。(冻结见下一篇文章)

2、tensorflow的tflite模型

tensorflow lite是 Google I/O 2017 大会上的其中一个重要宣布,有了TensorFlow Lite,应用开发者可以在移动设备上部署人工智能。

MTCNN、FaceNet转tflite模型,迁移至安卓使用(1)

简单介绍一下图片图片就是将训练好的tensorflow模型使用Tensorflow Lite Converter转换为.tflite模型,然后就可以用在Android和IOS APP上(当然也可以用在PC上,在tensorflow框架下直接调用)。

总结:tflite模型就是已.tflite模型结尾的文件可以用在Android和IOS APP上面

相关文章:

  • 2021-07-20
  • 2021-10-12
  • 2021-06-24
  • 2021-07-20
  • 2021-08-25
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-04-25
  • 2022-12-23
  • 2022-12-23
  • 2021-05-26
  • 2022-12-23
  • 2022-12-23
  • 2021-09-21
相关资源
相似解决方案