在pytorch中查看可训练参数的例子

yipeiwu_com7年前Python基础

pytorch中我们有时候可能需要设定某些变量是参与训练的,这时候就需要查看哪些是可训练参数,以确定这些设置是成功的。

pytorch中model.parameters()函数定义如下:

  def parameters(self):
    r"""Returns an iterator over module parameters.

    This is typically passed to an optimizer.

    Yields:
      Parameter: module parameter

    Example::

      >>> for param in model.parameters():
      >>>   print(type(param.data), param.size())
      <class 'torch.FloatTensor'> (20L,)
      <class 'torch.FloatTensor'> (20L, 1L, 5L, 5L)

    """
    for name, param in self.named_parameters():
      yield param

所以,我们可以遍历named_parameters()中的所有的参数,只打印那些param.requires_grad=True的变量。具体实现代码如下所示:

for name, param in model.named_parameters():
  if param.requires_grad:
    print(name)

这样打印出的结果就是模型中所有的可训练参数列表!

以上这篇在pytorch中查看可训练参数的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python解释器spython使用及原理解析

python解释器spython使用及原理解析

简介 出于个人爱好和某种需求,我再16年对python的解释器产生了浓厚兴趣,并且下定决心重新实现一个版本。我个人再游戏服务器开发中,对c++嵌入lua和python都有着丰富应用经验...

Python中Numpy ndarray的使用详解

本文主讲Python中Numpy数组的类型、全0全1数组的生成、随机数组、数组操作、矩阵的简单运算、矩阵的数学运算。 尽管可以用python中list嵌套来模拟矩阵,但使用Numpy库更...

在VS2017中用C#调用python脚本的实现

情景是这样的:在C#中调用python脚本进行post请求,python脚本中使用了requests包。 Python的开发环境我们有比较多的选择,pycharm、sublime tex...

python中的单引号双引号区别知识点总结

python中的单引号双引号有什么区别呢?下面给大家详细的介绍一下: 先说双引号与三引号的区别,双引号所表示的字符串通常要写成一行。 如: s1 = "hello,world" 如...

python 装饰器功能以及函数参数使用介绍

python 装饰器功能以及函数参数使用介绍

简单的说:装饰器主要作用就是对函数进行一些修饰,它的出现是在引入类方法和静态方法的时候为了定义静态方法出现的。例如为了把foo()函数声明成一个静态函数 复制代码 代码如下: class...