在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设计】。

相关文章

Python2.7+pytesser实现简单验证码的识别方法

本文实例讲述了Python2.7+pytesser实现简单验证码的识别方法。分享给大家供大家参考,具体如下: 首先,安装Python2.7版本 然后,安装PIL工具,下载的地址是:htt...

pytorch训练imagenet分类的方法

1、imagenet数据准备: a、下载数据集 b、提取training data: mkdir train && mv ILSVRC2012_img_train.tar train...

详解Python的Lambda函数与排序

lambda函数是一种快速定义单行的最小函数,是从 Lisp 借用来的,可以用在任何需要函数的地方。下面的例子比较了传统的函数与lambda函数的定义方式。 前几天看到了一行求1000...

python 读取更新中的log 或其它文本方式

在项目中遇到这个问题,想把本地的log文件通过 Server-Send Event 的形式 发送给前端。 但是如何把那些 新增加log文本 读取出来就成了问题。 想过遍历log文件取得行...

Python的requests网络编程包使用教程

Python的requests网络编程包使用教程

早就听说requests的库的强大,只是还没有接触,今天接触了一下,发现以前使用urllib,urllib2等方法真是太搓了…… 这里写些简单的使用初步作为一个记录 一、下载 官方项目...