NiftyNet开源平台的使用 -- 配置文件
官网 (https://niftynet.readthedocs.io/en/latest/config_spec.html)
运行工作流的命令是:
python net_run.py [train|inference|evaluation] -c <path_to/config.ini> -a <application>
使用train指令表明想要使用提供的数据更新已存在的网络模型,使用inference将加载已存在的网络模型根据提供的数据生成响应。-c 后跟配置文件路径,-a 跟将要import的应用种类。
图像分割
net_segment -c ...
图像回归
net_regress -c ...
自动编码
net_autoencoder -c ...
生成对抗网络(GANs)
net_gan -c ...
net_run命令也支持命令行参数,以`--<name> <value>`或`--<name>=<value>`的形式表示。输入的参数将取代系统默认的和配置文件中的参数。
每个配置文件中必须包含三个sections:
* [SYSTEM]
* [NETWORK]
* [APPLICATION]
[APPLICATION]由自己定制,可以使用的有:
* `[GAN]` -- 生成对抗网络
* `[SEGMENTATION]` -- 分割网络
* `[REGRESSION]` -- 回归网络
* `[AUTOENCODER]` -- 自动编码网络
* csv_file: 输入图像路径
* path_to_search: 搜索图像的单个或多个文件,如果有多个用逗号分开
* filename_contains: 匹配文件名的关键词
* filename_not_contains: 排除文件名的关键词
* filename_removefromid: 从文件命中抽取主题id的正则表达式,被匹配的模式将从文件名中移除并生成主题id。
* interp_order: 插值法,当设定采样方法为resize时,需要该参数对图片进行上采样或下采样,0表示最近插值,1表示双线性插值,3表示三次样条插值,默认为3
* pixdim: 如果被指定,输入volum在被喂给网络之前将被重采样成voxel尺寸
* axcodes: 如果被指定,输入volum在被喂给网络之前将被调整为坐标码(axes code)
* spatial_window_size: 输入到网络中的图片尺寸,需指明三个维度,第一个和第二个分别表示图片的长和宽,第三个如果为1表示使用2d卷积,否则使用3d卷积
* loader: 图片读取器,默认值None将尝试所有可得到的读取器
读取器支持的类型有:
nibabel 支持.nii医学文件格式
simpleitk 支持.dcm和.mhd格式的医疗图像
opencv 支持.jpg等常见图像,读取后通道顺序为BGR
skimage 支持.jpg等常见图像
pillow 支持.jpg等常见图像,读取后通道顺序为RGB
* cuda_devices: 设置tensorflow的CUDA_VISIBLE_DEVICES变量
* num_threads: 设置训练的预处理线程数
* num_gpus: 设置训练的GPU的数量
* model_dir: 训练模型的保存和加载路径
* dataset_split_file: 文件分配科目到子集
* event_handler: 事件处理器
* name: niftynet/network中的网络类或用户自定义的模块
* activation_function: 网络的激活函数集合
* batch_size: 设置每次迭代图像窗口的数量
* smaller_final_batch_mode: 当batch_size的窗口采样器总数是不可见的时支持最后的batch使用不同的模式
可选类型有:
drop: 终止剩余的batch
pad: 用-1填补最后更小的batch
dynamic: 直接输出剩余的batch
* decay: 正规化的强度,用于预防过拟合
* volume_padding_size: 图片的填补值
* window_sampling: 进入网络的图片的采样方法
uniform: 输出的图片保持原本大小
weighted: 对成比例的voxel的采样到累积直方图的似然
balanced: 每个标签都被采样的可能性同样
resize: 将进入网络的图片首先resize到spatial_window_size
* keep_prob: 如果失活被网络支持的话,每个元素存活的可能性
* normalisation: 指示直方图标准化是否应该被应用于数据
* whitening: 只是被加载的图片是否应该被增白,如果是,输入I,返回(I - mean(I)) / std(I)
* histogram_ref_file: 标准化参数的文件
* norm_file: 基于直方图的标准化的直方图landmark类型
* cutoff: 下级和上级的基于直方图的标准化的截断
* normalise_foreground_only: 指示一个mask是否需要被基于前景或多样前景进行计算,如设置True,所有的标准化步骤都将被应用于生成前景区
* foreground_type: 生成一个前景mask,并且它只用于前景
* mutimod_foreground_type: 结合前景mask和多模态的策略
可选类型:
or: 可得到的masks的合集
and: 可得到的mask的交集
all: mask从每个模态独立计算
* optimiser: 计算图梯度优化器的类型,支持adagrade,adam,gradientdescent,momentum,rmsprop,nesterov
* sample_per_volume:每张图的采样次数
* lr: 学习率
* loss_type: loss函数的类型,支持segmentation,regression,autoencoder,gan
* starting_iter: 设置重新训练模型的迭代次数
* save_every_n: 保存当前模型的频率,0为不保存
* tensorboard_every_n: 计算图中的元素和写到tensorboard上的频率
* max_iter: 最大训练迭代次数
* validation_every_n: 每n次迭代运行一次验证迭代
* validation_max_iter: 验证迭代运行的次数
* exclude_fraction_for_validation: 用于验证的数据集的比例
* exclude_fraction_for_inference: 用于推断的数据集的比例
* rotation_angle: 指示输入的图片旋转一个随机的旋转
* scaling_percentage: 指示一个随机的缩放比例(-50,50)
* random_flipping_axes: 可以翻转增强数据的轴(???)
* spatial_window_size: 指示输入窗口的大小(int array)
* border: 一个用于修剪输出窗口大小的边界值(int tuple),如设置(3,3,3),将把一个(64\*64\*64)的窗口修剪为(58\*58\*58)
* inference_iter: 指定已训练的模型用于推测(integer)
* save_seg_dir: 预测目录的名字
* output_postfix: 向每一个输出文件的名称后添加后缀
* output_interp_order: 网络输出的推断顺序
* dataset_to_infer: 字符串指定计算推理的数据集(‘training’, ‘validation’, ‘inference’)
* save_csv_dir: 存储输出的csv文件的路径
* evaluations: 要计算的评价指标列表以逗号分隔的字符串表示,每个应用程序可能的评估指标列表可用于回归评估、分段评估和分类评估
* evaluation_units: 描述在分割的情况下应该如何进行评估
foreground: 只对一个标签
label: 对每一个标签度量
cc: 对每个连接组件度量
NiftyNet开源平台的使用 -- 配置文件的更多相关文章
- NiftyNet开源平台使用
NiftyNet是一款开源的卷积神经网络平台,专门针对医学图像处理分析,上一篇博客已经详细介绍了这个平台,接下来让我简单介绍一下目前我了解到的使用方法.更详细的使用方法.以及配置过程请查看NiftyN ...
- Flink 另外一个分布式流式和批量数据处理的开源平台
Apache Flink是一个分布式流式和批量数据处理的开源平台. Flink的核心是一个流式数据流动引擎,它为数据流上面的分布式计算提供数据分发.通讯.容错.Flink包括几个使用 Flink引擎创 ...
- Minikube之Win10单机部署Kubernetes(k8s)自动化容器操作的开源平台
Minikube之Win10单机部署 Kubernetes(k8s)是自动化容器操作的开源平台,基于这个平台,你可以进行容器部署,资源调度和集群扩容等操作.如果你曾经用过Docker部署容器,那么可以 ...
- Nagios监控平台搭建及配置文件详解
Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员, ...
- 超级强大的淘宝开源平台(taobao-code)
今天发现了一个免费又高级的开源SVN服务器,taobao,阿里云CODE.迫不及待的注册了一个.感觉不错,分享给大家. 先说说我们用过的几个SVN服务器吧: google code oksvn(感觉不 ...
- (转)GIS理论知识(三)之ArcGIS平台、SuperMap超图平台和开源平台
3.1.ArcGIS平台 ArcGIS为美国ESRI公司研发的产品,为用户提供一个可伸缩的,全面的GIS平台.ArcObjects包含了许多的可编程组件,从细粒度的对象(例如单个的几何对象)到粗粒度的 ...
- 全球首发—鸿蒙开源平台OpenGL
目录: 前言 背景 鸿蒙OpenGL-ISRC的结构 OpenGL-ISRC和鸿蒙SDK OpenGL的区别 OpenGL-ISRC的使用 前言 基于安卓平台的OpenGL(androidxref.c ...
- Aooms_微服务基础开发平台实战_003_配置文件与简单的web环境搭建
一.前言 本篇文章介绍两个重点 (1) 工程核心配置文件application.yml (2) 如何在一个标准的的SpringCloud工程上构建起一个基本的web结构 二.配置文件applicati ...
- 机器学习的开源平台 TensorFlow
一. google第二代人工智能机器学习开源工具. http://www.tensorfly.cn/ 二. 知乎上关于机器学习的资料问答 https://www.zhihu.com/question/ ...
随机推荐
- 我的Unity学习笔记之——Unity中从网站下载ab资源+下载存储一条龙
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Net ...
- 1013. Battle Over Cities 用dfs计算联通分量
使用一个标记数组,标记 节点是否已访问 int 连通度=0 dfs(node i) {标记当前节点为以访问 for(每一个节点) {if(当前几点未访问 并且 从i到当前节点有直接路径) dfs(当前 ...
- 【慕课网实战】四、以慕课网日志分析为例 进入大数据 Spark SQL 的世界
文本文件进行统计分析:id, name, age, city1001,zhangsan,45,beijing1002,lisi,35,shanghai1003,wangwu,29,tianjin... ...
- openXML设置Excel行组合
重要代码: row = new DOS.Row() { RowIndex = new DOX.UInt32Value(rowIndex), Spans = new DOX.ListValue<D ...
- jupyter notebook常用快捷键
阅读目录 命令模式 (按键 Esc 开启) 编辑模式 ( Enter 键启动) Jupyter Notebook 的快捷键 使用前需要进行安装: pip install jupyter (前提是你 ...
- appium+python自动化脚本
用pycharm,首先得把appium导入,操作如下(否则,运行程序后会报错,没有module appium) Settings->Project Interpreter,双击pip,搜索app ...
- Python爬虫3-parse编码与利用parse模拟post请求
GitHub代码练习地址:①利用parse模拟post请求:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac04_pars ...
- hover样式失效的解决方法
提到 css 的hover 选择器,想必大家都不陌生(:hover 用于设置鼠标指向某元素上后显示的样式) 除了常用的 hover 选择器,还有3个可以和它搭配使用的选择器: :link 设置 ...
- OAuth2简易实战(四)-Github社交联合登录
1. OAuth2简易实战(四)-Github社交联合登录 1.1. 用到的第三方插件 https://github.com/spring-projects/spring-social-github ...
- GIT的初级使用
安装git [root@localhost ~]# yum -y install git [root@localhost ~]# git --version git version 1.8.3.1 初 ...