hhhedo / ibmil Goto Github PK
View Code? Open in Web Editor NEWCVPR 2023 Highlight
CVPR 2023 Highlight
Excuse me. May I ask you a simple question?
Is the classification task for dataset TCGA-NSCLC still a binary classification task even though TCGA-NSCLC includes two subtype?
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.
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!
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
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!
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!
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.
Could you please provide the data organization of the train_tcga.py? Can you also provide data.csv file example for reference?
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.
The official code of TransMIL is here, the parameters used are also official parameters, and the results I ran were 93.3% accurate.
How did 85.24% of the article come from
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!
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?
I want to know what is the patch size and magnitude used in the paper?
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."
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.
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!
我使用DSMIL的compute feature的代码,用imagenet 预训练的resnet18作为提取器,提取了patch特征。
之后用了您的代码复现各种模型,发现各个模型的效果要好于您论文中的结果。 我猜测是resnet18的预训练特征不同,您能提供resnet18的参数吗?或者您提取好的特征也可以。
或者pytorch的版本是否可能影响提取的特征?
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?
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
Why does DTFD give different results for two tests using the same weights?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.