首页 > 编程知识 正文

cant find design entity,pytorch dataparallel

时间:2023-05-05 16:23:03 阅读:107862 作者:2038

classactivationmapmethodsimplementedinpytorch https://github.com/Jacob Gil/py torch-grad-campipinstallgrad-cam是许多常见的CNN

也包括使CAM看起来很好的流畅方法。

所有方法都完全支持图像批处理。

More Visual Examples

选择目标级别必须选择要计算其CAM的目标级别。 常见的选择包括

resnet 18 and 50: model.layer4[-1 ] vgganddensenet 161: model.features [-1 ] mna snet1_ 0: model.layers [-1 ] . norm1usingfromcodeasalibraryfrompytorch _ grad _ camimportgradcam ablation cam,XGradCAM, eigencamfrompytorch _ grad _ cam.utils.imageimportshow _ cam _ on _ imagefromtorchvision.modelsimportresnet 50 model tttt createaninputtensorimageforyourmodel . # note : input _ tensor # construct the cam object once,and then re-useitonmanyimages target _ layer=target _ layer use _ cuda=args.use _ cuda ) # If target_category is None, thehighestscoringcategory # willbeusedforeveryimageinthebatch.# target _ categorycanalsobeaninteger, oralistofdifferentintegers # foreveryimageinthebatch.target _ category=281 # youcanalsopassaug _ smooth=trueandeigen _ toapplysmoothing.gray scale _ cam=cam (input _ tensor=input _ tensor, target _ category=target _ category (# ) inthisexamplegrayscale _ camhasonlyoneimageinthebatch 3360 gray scale _ cam=gray 3360 ) visualization=show _ cam _ on _ iii

aug_smooth=True

增加测试时间:将运行时间增加x6。

应用水平翻转组合,按[ 1.0,1.1,0.9 ]固定图像。

这有助于CAM更好地围绕对象中心。

eigen_smooth=True

activations*weights的第一主成分

这个有去除大量噪声的效果。

运行示例脚本:

python cam.py-- image-path path _ to _ image-- method method与CUDA一起使用。

python cam.py-- image-path path _ to _ image-- use-cuda可选:

GradCAM、ScoreCAM、GradCAMPlusPlus、AblationCAM、XGradCAM和EigenCAM。 ScoreCAM和AblationCAM等一些方法需要大量的向前通过,并且有批量实现。

您可以使用cam.batch_size=控制批处理大小

请参见howdoesitworkwithswintransformersusage _ examples/swint _ example.py

在基于Swin transformer的基础上,图层的输出通常为BATCH x 49 x1024。 最后49个元素可以认为是1024个通道的7x7空间图像。

因为reshape activations和gradients是二维空间图像,所以可以将reshape_transform函数传递给CAM构造函数。

这也可能成为未来其他架构的起点。

gradcam(model=model,target_layer=target_layer, reshape _ transform=reshape _ transform ) (defreshape_transform width=7) : result=tensor.size )2) ) bringthechannelsto # likeincnns.result=result.transpose (2,3 ).transpose ) 1,2 ) retureturn resurn

与ViT不同,swin transformer不包含ViT中存在的cls_token,因此它使用从最后一层的最后一个块获取的所有7x7图像。

必须选择最后一个关注块之前的任意层。 例如,以下内容:

target _ layer=model.layers [-1 ].blocks [-1 ].norm1references 3359 arxiv.org/ABS/1610.02391 grad-cam : visualexplanationsfromdeepnetworksviagradient-basedlocalizationramprasathr.selva raju, michaelcocalizationramprasathr.selva raju abhishek das、Ramakrishna Vedantam、Devi Parikh、 dhruvbatra https://arxiv.org/ABS/1710.11063 grad-cam : improvedvisualexplanationsfordeeepconvolutionalnetworksadityachatttton Prantik Howlader, vineethnbalasubramanian https://arxiv.org/ABS/910.01279 score-cam : score-weightedvisualexplanationsforconvolutionalution Zifan Wang,Mengnan Du,Meng Nadu zijianch,Sirui Ding,Piotr Mardziel, xiahu https://IEEE xplore.IEEE.org/abstract/document/9093360/ablation-cam : visualexplanationsfordeepconvolutionalnetworkviagradient-free localization.saurabhdesaiandharishgrisharishgrammaswaswation 2020https://arxiv.org/ABS/2008.02312 axiom-based grad-cam : towardsaccuratevisualizationandexplanation Qing Yong Hu,xiaoo Biao Li https://arxiv.org/ABS/2008.00299 eigen-cam : classactivationmapuui

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。