Giter Club home page Giter Club logo

ibmil's People

Contributors

hhhedo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ibmil's Issues

The parameter "background_t" in deepzoom_tiler.py

Hello,

Thanks for your awesome work again. Could you please tell me the parameter "background_t" in file 'deepzoom_tiler.py' you used while tiling the raw WSI Images.

Looking forward to your reply, Thank you.

About Stage 1: Data pre-processing and computing features

Thanks for your awesome work. I want to confirm implementations about data pre-processing.

I think, I should replace the Resnet18 with CtransPath to train the embedder using SimCLR. And load the pre-trained CtransPath model before training embedder. After that, I should use the trained embedder as feature extractor.

Could you please tell me if my implementation is correct? If not, could you please tell me what I should do correctly.

Thank you!

Features used in the experiments presented in the paper

Hi, I really liked your paper!
I was trying to simulate those results you got for the Camelyon16 dataset, but i used the pre-computed features available on the Github of DSMIL and didn't get close results to those that you have.
In your experiments, did you use the pre-computed features or did you do the pre-processing of the images and then extract the features?
Thank you

Error in NyStromAttention

class TransLayer(nn.Module):

    def __init__(self, norm_layer=nn.LayerNorm, dim=512):
        super().__init__()
        self.norm = norm_layer(dim)
        self.attn = NystromAttention(
            dim = dim,
            dim_head = dim//8,
            heads = 8,
            num_landmarks = dim//2,    # number of landmarks
            pinv_iterations = 6,    # number of moore-penrose iterations for approximating pinverse. 6 was recommended by the paper
            residual = True,         # whether to do an extra residual with the value or not. supposedly faster convergence if turned on
            dropout=0.1
        )

    def forward(self, x):
        print(self.attn(self.norm(x)).shape)
        x = x + self.attn(self.norm(x))

        return x

RuntimeError: Output 0 of PermuteBackward0 is a view and is being modified inplace. This view is the output of a function that returns multiple views. Such functions do not allow the output views to be modified inplace. You should replace the inplace operation by an out-of-place one.

Hi, I was wondering if you have ever encountered this issue. If so, how did you solve it? Thank you!

How to Obtain C16 and TCGA patches

Hi @HHHedo , could you guide me on how to obtain exactly the same C16 and TCGA patches as in your experiment? Could you please share the code for preprocessing WSIs into patches for the C16 dataset? There are approximately 2.8 million patches in total at 20× magnification, with about 7,200 patches per bag

Moreover, is it true that you downloaded TCGA patches from here (provided by DSMIL authors)? TCGA Lung Tree I tried to download it, but it always fails, even though I have made sure I have more than 60 GB of free space.

Looking forward to your reply!

_'milnet' is not defined_ in _train_tcga.py_

Hi, I am trying to implement your code. But, I found that in the train_tcga.py , there is an error occured 'milnet' is not defined . May I know where can I get the milnet model? Thanks in advance.

About TransMIL TCGA Test Accuracy 85.24%?

Thank you for your interesting work, but I have questions about the results of TransMIL's comparative experiment in TCGA in the article. The data set is the data set of the DSMILused in your article, and the training set and test set are the same as in the article.
f20f962b616cb3720fb420fa1ec66c6
The official code of TransMIL is here, the parameters used are also official parameters, and the results I ran were 93.3% accurate.
image
How did 85.24% of the article come from
image

In addition, I also noticed the article SSLP: Spatial Guided Self-supervised Learning on Pathological Images of your team MICCAI2021 a few years ago, which said that the code would be made public, but it has not been made public at present

Can you explain that? Thank you!

About Accuracy

Hi! Thank you for your excellent work! Is it reasonable that the code you shared uses the test set labels when calculating the test accuracy?

Num Classes

Hi, if I want to train camelyon16 and tcga datasets (following your experiment setup), what num_classes should I set? 1 or 2? I am a little bit confused as in the DSMIL GitHub repo, its written something like this "For binary classifier, use 1 for positive bags and 0 for negative bags. Use --num_classes=1 at training."

About parameters for different feature extractors

Hi! Thanks for your great work!
May I ask you a question about models' parameters for different feature extractors?
In the paper, different feature extractors are used to extract patches' features. I wonder if the parameters remain unchanged for the same model because related details are not mentioned in the paper and the supplementary materials. For example, in model DSMIL, if the learning rate remains 1e-4, weight dacay remains 5e-3, and the betas in Adam optimizer remains (0.5, 0.9) for feature extractors Resnet-18 ImageNet pretrained, CTransPath SRCL, and ViT MoCo V3? After experiments, I observed that using the parameters given by the code and feature extractor CTransPath SRCL, DSMIL can only get about 66% acc and 67% auc in the dataset Camelyon16.

TCGA Dataset Training and Testing Distributions

Hi, could you please share with me the distribution of slides used for training and testing in the TCGA dataset, along with their respective labels? From my understanding, the patches were obtained from the DSMIL authors. Is it correct that you followed their approach to create the distributions?

I noticed that it's mentioned there are a total of 836 training slides and 210 testing slides. However, upon examining the TEST_ID.csv file from this link, I observed that there are 214 testing slides. Could you provide clarification on this? And also which slides are used for training? Thank you!

您好!请问您所用的Resnet18的预训练权重是哪个版本的

我使用DSMIL的compute feature的代码,用imagenet 预训练的resnet18作为提取器,提取了patch特征。
之后用了您的代码复现各种模型,发现各个模型的效果要好于您论文中的结果。 我猜测是resnet18的预训练特征不同,您能提供resnet18的参数吗?或者您提取好的特征也可以。
或者pytorch的版本是否可能影响提取的特征?

About pre-computed features

Hi, I am trying to implement your code.The input image size of CTransPath is 224×224, but you mentioned in your paper that the image size you used is 256×256, how did you handle it when calculating the features?

Training Process Unstable

Hi, I have tried to implement several MIL models, following a similar approach to your implementation. However, I noticed that the performance can vary significantly, up to 10%, just by changing the training seed (ex from seed 0 to 10). I suspect this is due to the small training dataset size (Camelyon16), and the final test performance is determined by the last epoch (50). Moreover, instabilities in training seem to occur, especially with the AB-MIL and DS-MIL models

val is test?

in your train file,I see you train one epoch and then test one and save the best model?Can I understand your val is test? other MIL paper always select the best in val and test,can you explain it?
微信图片_20240104011726

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.