-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TV regularization with different lambdas for different parts of x #89
Comments
Hello, which version of the package are you using? And how are you constructing the masked proximal maps? If you have a small MWE I can take a look later. One issue might be that you are constructing your mask with indices fitting to the shape you give to the gradient op and not with the indices that fit the result of the gradient op |
Hi, I am using the latest commit, as I am dependent on the gpu supported version (Release 0.16.0). I used to use the gpuStates branch. Great work by the way :).
|
Well, I think I found the solution to my problem. I thought that the first half of the output of the gradient operator belongs to the first image and the second part to the second image. It turns out I was wrong, the output of the gradient operator is stored in the dimensions. So the first part of the gradient operator's output is the gradient in dimension 1 for both images. |
Ah yes, that is correct. Here you can see the relevant code |
I am trying to apply TV regularization with different lambdas to different parts of x in an ADMM solver. For some reason, it did not work as expected.
As explained in the documentation of the ADMM solver, instead of using the TV regularization directly, I use the TV regularization in the form of a gradient operator and L1 regularization. Since x represents two 100x100 images, I defined the regularization as follows
It works fine until I try to apply the TV regularization to only part of x, or use two TV regularizations with different lambdas for the two images in x.
I used a masked regularization because it was the most obvious way for me to apply the regularization to only one part. Is this the right approach?
For some reason, the appearance of the regularized part changes compared to using the TV regularization for both images.
The text was updated successfully, but these errors were encountered: