深度学习原理与实践chapter10
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
深度学习原理与TБайду номын сангаасnsorflow实践
10.6
黄理灿 ©2019
开源医学图像分析平台DLTK
数据读取 使用TFRecords数据库:一般来说,训练样本的数
据库往往很大,无法一次完全装入到内存中。 TFRecords 通过快速直接读写存储在磁盘中训练样 本,而不必先将样本数据存入内存。但是 TFRecords需要存储整个训练数据库到另一个格式 的副本。如果数据库很大(如几个TB),将造成硬 盘空间不够的问题。
深度学习原理与Tensorflow实践
10.3
黄理灿 ©2019
开源医学图像分析平台DLTK
生物医学图像通常是体积图像, 具有3维数据; 有时是4维数据(加上时 间维度) ,甚至5维数据(多序列核磁共振图像)
深度学习原理与Tensorflow实践
10.4
黄理灿 ©2019
开源医学图像分析平台DLTK
深度学习原理与Tensorflow实践
10.8
黄理灿 ©2019
开源医学图像分析平台DLTK
生物医学图像数据需要进行标准化预处理。标准化通常为消除数据 中获取方式引起的一些差异(例如,不同的主体姿势或图像对比度 的差异等),从而获得真正的病理学引起的差异。下面介绍一些最 常见的标准化方式。
三维像素强度的标准化。定性图像采用零均值单位方差标准化;然 而定量成像测量物理量,可适用裁剪和/或缩放,可采用离差标准化
10.2
黄理灿 ©2019
开源医学图像分析平台DLTK
DLTK是底层为Tensorflow的生物医学医学图像的 深度学习工具包,避免用户重复编写Tensorflow具 有相同功能的模型等程序模块。 深度学习库提供了底层操作库(例如张量乘法等 ),然而对医学图像还不能处理(如可区分的3D 上采样层等)。由于图像的额外空间维度,如多序 列脑磁共振多到5维,会导致内存不足的问题(例 如,存储1千张尺寸为325x512x256像素的CT图像 的数据集的副本,需要268GB)。另外由于采集的 性质不同,一些图像需要进行特殊的预处理(例如 ,灰度归一化、偏场校正、降噪、空间归一化或配 准等)。 DLTK的目标是提供解决这些问题的模块 ,为专家提供成熟的医学图像领域的深度学习平台 。
深度学习原理与Tensorflow实践
10.5
黄理灿 ©2019
开源医学图像分析平台DLTK
DLTK提供了多种数据读入方法。具体选取何种方法取决于其性能 方面的权衡、以及在训练期间可能成为瓶颈等因素。 使用记忆和馈送词典 :先从磁盘读取所有.nii文件, 并将所有训练 样本存储在内存中。通过创建一个网络图节点tf.placeholder,将内 存保存的数据在训练期间通过feed_dict馈送到网络图节点 tf.placeholder。因为它避免了从磁盘连续读取数据,这个方法通常 最快且最容易实现的。然而,需要将整个数据库中的样本数据(包 括训练示例和验证示例)保存在内存中,这对于大型图像数据库或 大型图像文件是不可行的。
深度学习原理与Tensorflow实践
10.7
黄理灿 ©2019
开源医学图像分析平台DLTK
• 数据读取
• 使用本地的python生成器yield。 创建一个read_fn()来直接加 载图像数据 。这种方法避免创建图像数据库的其他副本,但是 比TFRecords慢多了,因为生成器无法并行读取和映射函数。函 数中使用yield,可以使函数变成生成器。一个函数如果是生成一 个数组,就必须把数据存储在内存中,如果使用生成器,则在调 用的时候才生成数据,可以节省内存。 生成器方法调用时,不 会立即执行。需要调用next()或者使用for循环来执行。 可以把 yield的功效理解为暂停和播放。在一个函数中,程序执行到yield 语句的时候,程序暂停,返回yield后面表达式的值,在下一次调 用的时候,从yield语句暂停的地方继续执行,如此循环,直到函 数执行完。除了next函数之外,还有send函数也能获得生成器的 下一个yield后面表达式的值,不同的是send函数可以向生成器 传参。
第十章 TensorFlow案例--医学应用
第十章 TensorFlow案例--医学应用
开源医学图像分析平台DLTK 1. 开源医学图像分析平台DLTK安装运行 2. 开源医学图像分析平台DLTK 使用 3. 开源医学图像分析平台DLTK案例 4. 开源医学图像分析平台DLTK模型
深度学习原理与Tensorflow实践
源码安装可以用import dltk 导入自己修改的代码。 运行:
下载数据:到data/IXI_HH 目录, 运行python download_IXI_HH.py examples/tutorials 目录中有培训代码。 examples/applications中有应用代
码。 Dltk/networks 目录中 有模型代码。 cd MY_WORKSPACE_DIRECTORY/DLTK jupyter notebook --ip=* --port MY_PORT
深度学习原理与Tensorflow实践
10.9
黄理灿 ©2019
开源医学图像分析平台DLTK
空间标准化
深度学习原理与Tensorflow实践
10.10
黄理灿 ©2019
开源医学图像分析平台DLTK
数据增强 由于获取样本数据费时、费力和费钱,通常情况下样本的数据量有限,不可能涵
盖全部所需的变化。如软组织器官存在各种各样的正常形状、 病变(如癌症) 的形状以及位置的变化。我们可以通过生成模拟数据来增加训练图像样本数 量。这种方法称之为数据增强。数据增强分为强度增强和空间增强。强度增 强一般有向训练图像添加噪声图像、 添加随机偏移或对比度的图像。空间增 强一般有添加在预期对称的方向上翻转图像张量(如在脑部扫描时左/右翻 转),随机变形(如模仿器官形状的差异),沿轴的旋转(如用于模拟不同 的超声视角),对补丁进行随机裁剪和训练等数据。
安装: pip install tensorflow-gpu>=1.4.0 pip install dltk
或者源码安装: cd MY_WORKSPACE_DIRECTORY git clone https://github.com/DLTK/DLTK.git
或源码下载的是zip文件,解压后, cd DLTK pip install –e .