欢迎光临散文网 会员登陆 & 注册

SVD分解算法pytorch实现

2022-12-17 15:31 作者:021usc  | 我要投稿

本文将介绍SVD分解算法pytorch实现,本文侧重于代码的实现。

首先,根据SVD原理,用python实现对应的svd算法,代码如下:

传入的是一张图片,包含3通道,那么对每一个通道都进行SVD分解,从而可以得到对图片3通道的分解。

接着介绍用pytorch实现,首先需要定义S,V,D三个变量的参数,为了保持一致,这里rank还是取15%的奇异值。

需要进行一定的初始化,如果不进行初始化,可能效果会很糟糕。损失函数的设计,使用普通的MSE,MAE都可以。下面是简单的用法。

用python实现的svd跟pytorch实现的svd用于图片降噪,并进行对比。

结果对比

其中,svd_x表示python实现;svd_nn_x表示pytorch实现。不一定谁好谁坏,关键取决于学习率,噪声等因素。后期详细的介绍可以参考视频。


SVD分解算法pytorch实现的评论 (共 条)

分享到微博请遵守国家法律