如何在NiftyNet中访问预训练模型的中间激活图? [英] How can I get access to intermediate activation maps of the pre-trained models in NiftyNet?
问题描述
我可以下载并成功测试脑部分割演示的 NiftyNet 包中的.但是,这仅给了我预训练网络的最终分割结果,而我也需要访问中间层的输出.
I could download and successfully test brain parcellation demo of NiftyNet package. However, this only gives me the ultimate parcellation result of a pre-trained network, whereas I need to get access to the output of the intermediate layers too.
根据此演示,以下行下载了预先训练的模型和测试MR量:
According to this demo, the following line downloads a pre-trained model and a test MR volume:
wget -c https://www.dropbox.com/s/rxhluo9sub7ewlp/parcellation_demo.tar.gz -P ${demopath}
其中,${demopath}
是演示文件夹的路径.提取下载的文件将创建一个.ckpt
文件,该文件似乎包含一个预先训练的张量流模型,但是我无法将其加载到张量流会话中.
where ${demopath}
is the path to the demo folder. Extracting the downloaded file will create a .ckpt
file which seems to contain a pre-trained tensorflow model, however I could not manage to load it into a tensorflow session.
是否可以加载预训练模型并访问其所有中间激活图?换句话说,如何将来自NiftyNet库的经过预训练的模型加载到张量流会话中,以便可以浏览模型或为任何给定的输入图像探查某些中间层?
Is there a way that I can load the pre-trained model and have access to the all its intermediate activation maps? In other words, how can I load the pre-trained models from NiftyNet library into a tensorflow session such that I can explore through the model or probe certain intermediate layer for a any given input image?
最后,在NiftyNet的网站中提到在NiftyNet框架中已经(重新)实现了许多文献模型".还提供这些模型的预训练权重吗?该演示使用的是经过预先训练的模型HighRes3DNet.如果还提供了其他模型的预训练权重,那么下载这些权重或保存的张量流模型的链接是什么?
Finally, in NiftyNet's website it is mentioned that "a number of models from the literature have been (re)implemented in the NiftyNet framework". Are pre-trained weights of these models also available? The demo is using a pre-trained model called HighRes3DNet. If the pre-trained weights of other models are also available, what is the link to download those weights or saved tensorflow models?
推荐答案
首先要回答您的最终"问题,NiftyNet实施了一些网络体系结构(例如VNet,UNet,DeepMedic,HighRes3DNet),您可以自己进行培训数据.对于其中的一些,在某些应用中(例如,使用HighRes3DNet进行脑碎裂和使用DenseVNet进行腹部CT分割),需要预先训练权重.
To answer your 'Finally' question first, NiftyNet has some network architectures implemented (e.g., VNet, UNet, DeepMedic, HighRes3DNet) that you can train on your own data. For a few of these, there are pre-trained weights for certain applications (e.g. brain parcellation with HighRes3DNet and abdominal CT segmentation with DenseVNet).
其中一些预训练的权重已从演示中链接,就像您链接到的小碎片一样.我们开始将经过预训练的模型收集到动物园的模型,但这仍在进行中.
Some of these pre-trained weights are linked from the demos, like the parcellation one you linked to. We are starting to collect the pre-trained models into a model zoo, but this is still a work in progress.
Eli Gibson [NiftyNet开发人员]
Eli Gibson [NiftyNet developer]
这篇关于如何在NiftyNet中访问预训练模型的中间激活图?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!