深度学习训练和测试必备.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
深度学习训练和测试必备一一教你怎样切割和组合二维和三维地震数据(附程序) ■■■■■ ■■■■■ ■■■■■ 01什么时候需要切割? 需要化整为零处理数据。 地震勘探数据常常有一个重要的特点就是数据量很大,大到直接对整个资料进行处理不太现 实,而且计算效率也比较低。比如在深度学习的过程中,每个批次训练一般都是用的小块数 据。各位聪明的同学肯定想到了一个方法,就是化整为零。在实际资料的处理过程中,我们 常常需要把大块数据切小,处理完之后再组合回去。 这类需求常常在使用深度学习模型预测的时候使用,一般流程是这样的:即对于一个大工区 的数据块,先将数据拆分为小块数据,然后分别使用神经网络模型进行预测,再将预测结果 组合回原数据尺寸,得到整体的预测效果。 生成训练集数据。 搞深度学习的同学都知道我们需要准备训练集,而且训练集的数量一般都希望比较大,数据 的形态希望比较丰富。如果每个训练数据都手工准备,显然太费时间。这个时候一个自动生 成训练数据的方案成为了刚需。 有一种比较高效的生成训练数据集的流程是这样的:一是生成或找一些形态丰富的大尺寸数 据。二是使用程序将所有的大尺寸数据切割为小块。三是对小块进行尺度变换、翻转等操作 丰富形态。四是整合所有小块形成训练数据集。 切割和组合的思路听起来很简单,但是在实际操作过程中会遇到一些问题,比如怎样切分小 块的数量保证是整数,怎样实现小块组合的边缘能够连续等等问题。下面我们将给大家讲解 用Python来做怎样实现。还是以前面课程使用的数据为示范,分别给大家讲解二维剖面和 三维数据体的切割和组合的方法。 02二维剖面切割和组合。 1.首先,我们考虑生成训练集的场景。 假如我们找到了一个1000*1200的剖面数据,想生成10000个小块数据,怎样来操作呢? 可以使用如下的程序: root - 1 data/1 train_data = datagenerator(data_dir = root,patch_siie = [32,32),stride = il6,lj6),train_data_nun =1000? faug_tifles=9Jscales = [lf0.9#0.s]>/erbose=FalseJ 这里用datagenerator函数生成了小块数据,其中参数的含义包括: 一是data_dir,程序将读取指定文件夹里面所有的地震数据来形成训练集。 二是patch_size,指定切割的小块尺寸。对于深度学习来说,一般小块尺寸从32开始,不 大于128。 三是stride,指移动的步长。 四是train_data_num,指想生成训练小块的数量。 五是aug_times,指定随机翻转的次数。 六是scales,指定数据缩放的比例,可以指定很多个,程序将从中选择。 七是verbose,显示处理进度。 八是jump,指定随机跳跃地震道。 处理完之后,我们随机选几个小块看看啥样,就可以发现小块的形态是非常丰富的。 2.现在我们考虑为预测数据而进行的切割和组合。 比如我们的大块数据尺寸是1000*1200,原始数据剖面看起来是这样的: 1000 现在想切割为40*40的小块,可以这样做: K_test = 51ice2D(data2Dj rnl± 『口七 nl, n2, tslidcj xslidtj 1) 这里的参数需要指定输入的数据源,输入数据的尺寸,切割小块的尺寸,切割标志1°slice2D 函数将自动切割小块数据。 这里为了保障切割时不出错,一定要注意(大块-小块产步长是整数。切割结果就是这样的: 切割的小块看起来是这样的: 要将小块组合回原始数据,程序这样写: K_cambi_ne = sliceZDtK^licej rnl, rn2j nl± nW, tslidej xslide., a) | 参数与切割的程序相比基本没有区别,就是把标志指定为0。组合后的数据剖面看起来是这 样的: 0 200 400 600 BOO 100-0 0 200 400 600 BOO 100-0 与原数据剖面图没啥区别,证明了程序的可靠性。 03三维剖面切割和组合。 三维体的切割和组合与二维剖面相比,基本原理都是不变的,区别就是复杂度增高,计算资 源要求更高。 1.准备数据集的场景。 假如我们找的是一个200*500*500的数据体,要想生成1000个32*32*32的小数据体,程 序可以这样写: traln_datii_3D - d aidgenera tor 3D(data_dir = root j. d ata3D^( x>y t z)- ± patch_£iz e = stride - (16j 16j. 16)¥train_data_nurn sieWj,aiig_tijaies!=9,5ca

文档评论(0)

z190712l + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

认证主体李**

1亿VIP精品文档

相关文档

相关课程推荐