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

yipeiwu_com6年前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设计】。

相关文章

如何利用Boost.Python实现Python C/C++混合编程详解

前言 学习中如果碰到问题,参考官网例子: D:\boost_1_61_0\libs\python\test 参考:Boost.Python 中英文文档。 利用Boost.Python...

pytorch获取模型某一层参数名及参数值方式

1、Motivation: I wanna modify the value of some param; I wanna check the value of some param....

python 实现返回一个列表中出现次数最多的元素方法

如下所示: # 返回一个列表中出现次数最多的元素 def showmax(lt):     index1 = 0  ...

Python元组常见操作示例

本文实例讲述了Python元组常见操作。分享给大家供大家参考,具体如下: 不能修改的列表就叫做元组。 1 访问元素 元组是使用圆括号来标识的。 定义好元组后, 我们就可以使用索引来访问其...

Python numpy 点数组去重的实例

废话不多说,直接上代码,有详细注释 # coding = utf-8 import numpy as np from IPython import embed # xy 输入,可支持...