大图像上的风格迁移。 (成块?)
Style transfer on large image. (in chunks?)
我正在研究各种风格转换模型,我注意到它们的分辨率都有限(例如,当 运行 在 Pixel 3 上时,我不能超过 1,024x1,024,否则 OOM) .
我注意到一些应用程序(例如 this app)似乎正在对高达 ~10MP 的图像进行样式转换,这些应用程序还显示进度条,我猜这意味着它们不只是为整个图像调用单个 tensorflow "run" 方法,否则他们将不知道处理了多少。
我猜他们正在使用某种平铺,但天真地将图像拆分为 256x256 会产生不一致的样式(不仅仅是在边框上)。
因为这似乎是一个明显的问题,所以我试图找到关于此的任何出版物,但我找不到任何。我错过了什么吗?
谢谢!
我猜人们将模型分成多个模型(对于 VGG 来说很容易手动完成,例如通过层),然后使用 model_summary Keras 函数(或基准)来估计它所花费的相对时间对于每个步骤,从而引导进度条。这种分离也可能节省内存,因为 tensorflow lite 可能不够聪明,无法在不需要时重用内存存储来自较低层的中间激活。
我正在研究各种风格转换模型,我注意到它们的分辨率都有限(例如,当 运行 在 Pixel 3 上时,我不能超过 1,024x1,024,否则 OOM) .
我注意到一些应用程序(例如 this app)似乎正在对高达 ~10MP 的图像进行样式转换,这些应用程序还显示进度条,我猜这意味着它们不只是为整个图像调用单个 tensorflow "run" 方法,否则他们将不知道处理了多少。
我猜他们正在使用某种平铺,但天真地将图像拆分为 256x256 会产生不一致的样式(不仅仅是在边框上)。
因为这似乎是一个明显的问题,所以我试图找到关于此的任何出版物,但我找不到任何。我错过了什么吗?
谢谢!
我猜人们将模型分成多个模型(对于 VGG 来说很容易手动完成,例如通过层),然后使用 model_summary Keras 函数(或基准)来估计它所花费的相对时间对于每个步骤,从而引导进度条。这种分离也可能节省内存,因为 tensorflow lite 可能不够聪明,无法在不需要时重用内存存储来自较低层的中间激活。