-
Notifications
You must be signed in to change notification settings - Fork 177
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
Pytorch implementation #10
Comments
Wonderful work, I would also consider it be done by pytorch |
I do wish the pytorch version could be released as soon as possible. |
Hi, what is progress now? I would like to join. |
I was able to reproduce the hospital readmission notebook experiments in Pytorch with a few issues:
Since I couldn't get it to run in reasonable time and some things from the original implementation are unclear to me (I sent an email to the first author of the paper but I haven't received an answer yet) I have moved on to other interpretability methods. My code is messy so I didn't put it online. If someone is interested in helping me - feel free to contact me, I'd like to give it another shot. |
@expectopatronum Hi, I am working on the first experiment by translating the TensorFlow code to PyTorch, it is difficult though. I would like to help and work on it together. What is your approach? Do you translate the codes file by file or organize them by yourselves? |
First I tried to translate the code file by file but I think how Pytorch and Tensorflow work is too different. I also want the influence code extracted from the model, so I put it in a separate file. In the end I want it to work for every model and not copy the code to all models. Here is one of the questions I asked the author, maybe you have an answer to this:
|
@expectopatronum Hope it can help. By the way, may I ask when do you think that your code will be ready online? |
Alright, thanks! I am currently working on it, so I'd expect it to be ready in a couple of hours. |
I've now created a private repository with my current status and invited @tengerye. If anyone else is interested in having a look, just let me know. |
Hi @expectopatronum, just stumbled upon this...I'm also working on a currently unreleased PyTorch implementation of the paper, feel free to reach out... |
kohpangwei seems not really care about this repository anymore, what a shame |
Hello, @expectopatronum I don't think I saw any email (sorry if I missed it). But thanks @tengerye for answering it. This repo is frozen to what was used for the paper. I'm glad that there's interest in making a Pytorch version; thank you and good luck! In case it helps, we have a more recent paper that also uses influence functions, and the code there is cleaner and easier to read: https://github.com/kohpangwei/group-influence-release |
Hi @kohpangwei, that's strange. I used the email adress from your influence paper, is that still valid? I still have some theoretical questions about the paper that probably can not be answered by someone on Github. I am aware of the new paper, I didn't have time yet to check it out but I will soon :) Thanks a lot! |
Yup, that email address still works! Feel free to drop me a note there. :) |
Thanks, I did! Hopefully it won't get lost this time :) |
Hi, @expectopatronum @Kunlun-Zhu @markus-beuckelmann has anyone successfully repeat the experiment of CNN (fig2-c) successfully yet? Although the paper states that the methods works well with non-convergence case but I found I can never make the I guess it must be related to the damping term. @kohpangwei If possible, would you please share some experience in how to determine if the training is good for the next step? e.g., did you check eigenvalues of hessian inverse? |
Hi @tengerye, unfortunately not. I have given up for now since I didn't even manage to exactly reproduce the hospital notebook (and it is super slow in my Pytorch implementation). Would you like to share your code? |
Yup, checking the eigenvalues of the Hessian was a helpful diagnostic, and damping it "appropriately" (to make sure it's PSD) is important in the non-convex case. Increasing L2 regularization can also be helpful. |
@kohpangwei Thank you for your kind reply. @expectopatronum Sharing is the reason for me to produce it. Allow me a few days to fix the problem before making it public. |
hi,@expectopatronum,i am also interested in PyTorch implementation of the paper,could you share me with your code?Thanks. |
@expectopatronum I'm also very interested in the Pytorch implementation, could you also share your code with me as well? It'd be a fantastic help! |
@expectopatronum I'm also looking for the pytorch implementation of influence functions! It'll be very helpful if you share your code😆 |
I've had a pytorch implementation lingering around for some time on my hard drive. I've just polished it up a bit (hope it's readable at all...) and wrote a few docs to go along with it. You can find it here: https://github.com/nimarb/pytorch_influence_functions It doesn't implement all the graphics, tests, examples of the original paper - just the algo itself. |
@nimarb This is amazing, thanks for sharing! If you don't implement stuff from the paper - how do you know if it is correct? (not saying that everything in the paper must be correct) |
Initially, I recreated the Inception and adversarial use-cases (were most interesting for my use) where I got the same images for helpful data points. I hope to find the time to put those out over the christmas holidays :) |
Closing this thread; thanks @nimarb for the implementation. :) |
Hi,
this might not be a question for the repo owner but maybe someone else sees this - I hope it is ok I put this question here.
Is anyone aware of a Pytorch implementation of influence functions? I think I got the implementation of the hessian vector product right but there is also a lot of data handling involved (to replace the Tensorflow feed_dict stuff by more Pytorchy data types). If no one has done it - I am currently working on it and can also share it (but this might take some time).
Best regards
Verena
The text was updated successfully, but these errors were encountered: