最近在看GAN的源码,源码是使用python编写的,中间涉及到了pylearn的内容,由于之前从来都没有接触过这部分内容,所以读起来还是很吃力的,不过应该还是会在后面学习一下这部分的内容,以后的内容中应该会使用到。

首先看一下yaml的内容,官方解释为是一种置标语言,无论是对机器或人而言都是便于阅读理解的。下面的内容是从deeplearning上面摘下来的,感兴趣的同学也可以访问原网站点击打开链接(包含下面讲解的内容)以及点击打开链接(一些库、模型等说明文档),这篇就主要介绍一下YAML

使用!obj对对象进行实例化,通常的语法为 !obj:<package>[.<subpackage>]*.<module>.<object>,举个栗子,下面就可以创建一个AutoEncoder的实例,以784个可见单元和100个隐藏单元为参数,标准差为0.2。!obj实现的功能有两个,可以递归的导入所有子包,直到导入最终模型。

Pylearn2之YAML

可以使用load方法将模块进行导入。如下例,假定模型存储在example.yaml中,使用yaml_parse.load方法就可以已有模型进行导入

Pylearn2之YAML

anchor&reference,这里不知道应该怎么翻译了,所以就直接把词摆在这里好了。主要实现的功能是可以避免重复的代码,如下例,所实现的功能是首先通过&nvis将可见单元nvis的熟练变为增广矩阵;随后通过使用*nvis指定隐藏单元的数量。通过使用*nvis能够避免在两个位置修改代码

Pylearn2之YAML

使用!import动态导入。同!obj功能类似,但是它不会创建实例,只会返回一个指针。

通过使用Pickl导入文件,和load功能函数类似,实现过程见下图Pylearn2之YAML

通过对这些tag进行组合即可得到一个比较完整的结构了Pylearn2之YAML

Pylearn2之YAML

从结构上来看,格式还是非常规整,语法结构也清晰易懂。后续部分继续学习

相关文章:

  • 2021-09-10
  • 2021-05-25
  • 2022-12-23
  • 2021-05-22
  • 2021-07-15
  • 2021-06-19
猜你喜欢
  • 2021-05-19
  • 2021-10-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案