如何在NiftyNet中访问预训练模型的中间激活图? [英] How can I get access to intermediate activation maps of the pre-trained models in NiftyNet?

查看:123
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆