tensorflow-serving布置facenet心得

这个的东西困扰我很久,终于弄成了。不知道我做的是不是太繁琐,如果有人做的更简单,希望指出,谢谢。

docker中,目前有一个容器。mtcnn其中包括:pnet,rnet和onet,这三个是要布置在一起,其中加入了reshape操作。

没学明白之前,一直以为多模型之间有什么联系。现在明白了。下面是一个多用户单模型的配置文件。

model_config_list:{
    config:{
      name:"pnet",
      base_path:"/models/facenet",
      model_platform:"tensorflow"
    },
    config:{
      name:"rnet",
      base_path:"/models/facenet",
      model_platform:"tensorflow"
    },
	   config:{
      name:"onet",
      base_path:"/models/facenet",
      model_platform:"tensorflow"
    },
    config:{
      name:"classify",
      base_path:"/models/facenet",
      model_platform:"tensorflow"
    },
}

如果实际应用可能要多用户多模.

流程

假设环境你都布置完了

  1. 转化模型成servedmodel类型。
  2. 写配置文件
  3. 发布模型
  4. 绑定固定ip

注意

不要用rest这个接口(也就是8501),需要把numpy转化json类型。浪费时间.

可以在线更新配置文件,不用停下来。

还有就是更新模型的问题。

--------------

mtcnn的三个模型,在预测时候,可以放到一个graph中,输入为三个尺寸的图像,输出为9个预测接结果(每个net有3个结果)。

我想这个融合应该预测速度更快。pnet和rnet的分类是用不到的。这里可以不给出来。也就是只有7个输出。

猜你喜欢

转载自blog.csdn.net/weixin_39875161/article/details/107078103