加入收藏 | 设为首页 | 会员中心 | 我要投稿 宣城站长网 (https://www.0563zz.cn/)- 数据湖、行业智能、边缘计算、开发、备份!
当前位置: 首页 > 站长资讯 > 评论 > 正文

15款Python编辑器的优缺点

发布时间:2021-02-05 16:24:55 所属栏目:评论 来源:互联网
导读:1. 函数式编程 笔者学习的第一种编程语言是Java。尽管深知面向对象编程与创建可重用类和模块相关的好处,但其在处理数据时不便应用。两年后,笔者偶然发现了R语言一种函数式编程语言,笔者立刻就被它迷住了。 R语言能够使用dplyr包并简单地通过管道传输函数

1. 函数式编程

笔者学习的第一种编程语言是Java。尽管深知面向对象编程与创建可重用类和模块相关的好处,但其在处理数据时不便应用。两年后,笔者偶然发现了R语言——一种函数式编程语言,笔者立刻就被它迷住了。

R语言能够使用dplyr包并简单地通过管道传输函数来转换数据并快速查看结果,大大便利了工作。但现在,Python要求将二者结合,编写面向对象的模块化脚本,同时利用函数式编程,这种编程在与R语言中的数据交互时运行良好。

函数式编程极其适用于处理数据,原因就在于几乎任何数据工程任务都可以通过输入数据实现,应用一些函数(也就是说,实现ETL中的T环节,即数据的转换,清洗及加载),将其输出加载到某个集中存储库,或者用于撰写报告或数据科学用例。
 

完成一个训练过程初始化:我们会对每一个Block的参数进行初始化,初始化每个参数的函数都是由设定的 initializer决定的。前向传播:这一步把输入数据在神经网络中逐层传递,然后产生输出数据。计算损失:我们会根据特定的损失函数 loss 来计算输出和标记结果的偏差。反向传播:在这一步中,利用损失反向求导计算出每一个参数的梯度。更新权重,会根据选择的优化器,更新每一个在 Block 上的参数的值。

精简

DJL 利用了 Trainer 结构体精简了整个过程,开发者只需要创建Trainer 并指定对应的initializer,loss,optimizer即可,这些参数都是由TrainingConfig设定,来看参数的设置。TrainingListener 训练过程设定的监听器,可以实时反馈每个阶段的训练结果,这些结果可以用于记录训练过程或者帮助 debug 神经网络训练过程中遇到的问题。用户可以定制自己的 TrainingListener 来训练过程进行监听
 

这段代码分别制作了训练和验证集,同时我们也随机的排列了数据集从而更好的训练,除了这些配置以外,也可以对图片进行进一步的设置,例如设置图片大小,归一化处理。

制作 model 建立 block

当数据集准备就绪以后,就可以构建神经网络,在DJL 中,神经网络是由 Block 代码块构成的,一个Block是一个具备多种神经网络特性的结构,他们可以代表一个操作神经网络的一部分,甚至一个完整的神经网络,然后 block 就可以顺序的执行或者并行。同时 block 本身也可以带参数和子block,这种嵌套结构可以快速的帮助更新一个可维护的神经网络,在训练过程中,每个block附带参数也会实时更新,同时也会更新其子 block。当我们构建这些 block 的过程中,最简单的方式就是把他们一个一个嵌套起来,直接使用准备好的 DJL的 Block 种类,我们就可以快速制作各种神经网络。

block 变体

根据几种基本的神经网络工作模式,我们提供几种Block的变体,

  1. SequentialBlock 是为了输出作为下一个block的输入继续执行到底。
  2. parallelblock 是用于将一个输入并行输入到每一个子block中,同时也将输出结果根据特定的合并方程合并起来。
  3. lambdablock 是帮助用户进行快速操作的一个block,其中不具备任何参数,所以在训练的过程中没有任何部分在训练过程中更新。

NDArry 和 NDManager

NDArray 是 DJL 存储数据结构和数学运算的基本结构,一个NDArry表达了一个定长的多维数组,NDArry的使用方法,类似于Python的numpy.ndarry。NDManager是NDArry的管理者,其负责管理NDArry的产生和回收过程,这样可以帮助我们更好的对Java内存进行优化,每一个NDArry都会由一个NDManager创造出来,同时他们会在NDManager关闭时一同关闭,

Model

在 DJL 中,训练和推理都是从 Model class 开始构建的,我们在这里主要训练过程中的构建方法,下面我们为 Model 创建一个新的目标,因为 Model 也是继承了 AutoClosable 结构体,用一个 try block实现。


(编辑:宣城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读