NiftyNet 的工作流可以由 NiftyNet 应用程序和配置文件完全指定,运行工作流命令:
# command to run from git-cloned NiftyNet source code folder
python net_run.py [train|inference|evaluation] -c <path_to/config.ini> -a <application>
# command to run using pip-installed NiftyNet
net_run [train|inference|evaluation] -c <path_to/config.ini> -a <application>
train
表示要使用提供的数据训练模型inference
表示使用已存在的模型进行测试-c
后面是配置文件的路径-a
后面是将要 import 的应用种类
<application>
:
格式:user.path.python.module.MyApplication
这样 NiftyNet 将会导入 user/path/python/module.py 文件中名为 MyApplication 的类。
NiftyNet 中已实现的应用:
# 图像分割
# command
net_run -a niftynet.application.segmentation_application.SegmentationApplication -c ...
# alias:
net_segment -c ...
# 图像回归
# command
net_run -a niftynet.application.regression_application.RegressionApplication -c ...
# alias:
net_regress -c ...
# 自动编码
# command
net_run -a niftynet.application.autoencoder_application.AutoencoderApplication -c ...
# alias:
net_autoencoder -c ...
# 生成对抗网络
# command
net_run -a niftynet.application.gan_application.GANApplication -c ...
# alias:
net_gan -c ...
在 NiftyNet 工程根目录下:
net_run
命令也支持命令行参数,以 --<name> <value>
或 --<name>=<value>
的形式表示,输入的参数将取代系统默认的和配置文件中的参数。
Configuration
:
所有的 config.ini
都包括两个部分:SYSTEM 和 NETWORK
如果工作流命令指定了 train
,则需要使用 TRAINING
如果工作流命令指定了 inference
,则需要使用 INFERENCE
另外,针对不同的应用,还可能需要以下特定的模块:
GAN
:生成式对抗网络SEGMENTATION
:分割网络REGRESSION
:回归网络AUTOENCODER
:自编码网络
输入数据: