我正在尝试训练pytorch CNN模型将我的图像转换为特定的风格。我在https://pytorch.org/tutorials/advanced/neural_style_tutorial.html上找到了这方面的教程,但这将在多次迭代中转换图像,我需要有一个模型,它可以在C++项目中使用它。
然后我发现https://towardsdatascience.com/implementing-neural-style-transfer-using-pytorch-fd8d43fb7bfa使用相同的原理,但有一个学习过程,但优化器仍然在每一步更新图像。
optimizer=optim.Adam([generated_image],lr=lr)
到
optimizer=optim.Adam(model.parameters(),lr=lr)
它就完全停止工作了
有没有办法训练pytorch模型来更新图像到特定的风格?最终有没有任何预先训练的模型?我找不到任何东西,除了tensorflow 模型,但为此我需要使用pytorch。
我最初的目标是创建一个模型,将图像转换为灰度的变体,但这对我来说很难。所以如果有人知道这个小任务的解决方案,那对我来说就足够了。
1条答案
按热度按时间nzk0hqpo1#
嗯,在传统的神经风格传输中,权重是图像本身。模型应该被冻结。显然,你不能只是将
optimizer=optim.Adam([generated_image],lr=lr)
更改为optimizer=optim.Adam(model.parameters(),lr=lr)
,这没有任何意义。这将是无用的。但好消息是,有一种新的方法叫做快速神经传递风格,你将有一个额外的模型,它的参数将被训练。这使得模型能够非常快速地传递不同图像的风格。
去谷歌搜索快速神经传输风格的pytorch。