是否有可能在珊瑚开发板上并行运行多个相同的模型?



我正在运行移动SSD,每个输入图像大约14ms。我是否可以在同一开发板tpu上同时运行这两个模型?例如,我积压了100张图片,我想看完,对我来说唯一重要的是花多长时间看完这100张图片。所以如果我一次能跑2到4个,那就太棒了。我试着通读文档,我看了看流水线,但边缘编译器告诉我"~$警告:对于给定的模型,您正在创建比必要的更多的段"。我读到的关于并行运行的所有其他内容都是关于使用两个物理边缘tpu。如果这是不可能的,那很好,我只是想知道肯定:)

谢谢

您可以运行多个模型,但是TPU内存有限,并且会将您的模型换入换出,因此您可能不会通过将任务委托给多个模型来提高性能。但是,您可以共同编译您的模型。这个过程用相同的标识符(缓存令牌)"编译"每个模型,使它们都能在TPU上运行,而不会被交换进出。

编译模型是通过edgetpu_compiler;这个过程是这样的:

edgetpu_compiler someModel.tflite someOtherModel.tflite

或使用相同的模型:

edgetpu_compiler someModelA.tflite someModelA_duplicate.tflite

这个过程有一些细微的差别,比如您将模型提供给edgetpu_compiler进程的顺序可能会影响性能,就像您的组合模型太大而无法装入TPU RAM的场景一样。我建议从这个关于多个模型的文档开始。

最新更新