Torch.nn.Module 模块官方文档学习

1、nn.parameter

Tensor类的特殊化实例,利用torch.nn.Parameter(data,required_grad = True)定义的变量可以直接作为网络模型的parameter

 

2、nn.Module

torch中搭建神经网络的父类

add_module(name,module)

向当前模块中添加子模块,添加的模块可以通过name访问

apply(fn)

当前网络中每个子模块都执行fn

buffers(recurse = True)

返回一个包含模块缓存的迭代器

cuda() cpu()

将网络参数和缓存移动到gpu/cpu上

double() float()

将所有的参数和缓冲转换为double(float)类型

eval() train()

将网络设置为评估(训练)模式

forward(*input)

自定义前向传播的运算图

state_dict(destination = None,prefix = '' ,keep_vars = False)

返回一个包含整个模块训练参数的字典表,key值和参数name相一致,prefix添加前缀

load_state_dict(state_dict,strcict =True)

从传入的 state_dict 中复制 网络训练参数和缓存 到当前网络及其子类中去,如果strict为True,传入的训练参数的key值必须准确匹配当前网络参数的key值

modules()

返回一个包含当前网络所有模块的的迭代器,最先输出整个网络结构,再输出各个子模块

children()

返回一个包含当前网络所有子模块的迭代器,不会输出整个网络结构

named_modules()

返回一个包含当前网络所有子模块的迭代器,输出模块的name和模块本身,在第一个输出整个网络

named_children()

返回一个包含当前网络所有子模块的迭代器,输出模块的name和模块本身,不会输出整个网络结构

parameters()

返回一个包含模型中的所有参数的迭代器,一般用于将网络参数传入优化器

named_parameters(prefix = '',recurse = True)

返回一个包含模块参数的生成器,输出参数名和参数本身,参数prefix添加前缀

to(device,dtype,tensor)

转换模块参数数据类型,或将其移动到gpu/cpu上

type(dst_type)

将所有参数和缓存转换为dst_type

zero_grad()

将网络中所有参数的参数设置为0

你可能感兴趣的:(计算机视觉,pytorch)