栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【Pytorch函数总结大全】不定期更新~

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Pytorch函数总结大全】不定期更新~

发现自己干的事情和兔叭咯似的,沉迷挖坑

函数总结

torch.nn.Identity(): 返回原输入,用于保持网络层数torch.nn.MoudleList(): 构建一个存放layer,module的list,有利于forward的简写
-append和extend可以添加model进入list
-e.g.

class model2(nn.Module):
    def __init__(self):
        super(model2, self).__init__()
        self.layers=nn.ModuleList([
            nn.Linear(1,10), nn.ReLU(),
            nn.Linear(10,100),nn.ReLU(),
            nn.Linear(100,10),nn.ReLU(),
            nn.Linear(10,1)])
    def forward(self,x):
        out=x
        for i,layer in enumerate(self.layers):
            out=layer(out)
        return out
        
self.linears.extend([nn.Linear(size1, size2) for i in range(1, num_layers)])

self.linears.append(nn.Linear(size1, size2)

torch.nn.Sequential():与modulelist类似,添加之后可以是做一个整体
-e.g.

class model3(nn.Module):
    def __init__(self):
        super(model3, self).__init__()
        self.network=nn.Sequential(
            nn.Linear(1,10),nn.ReLU(),
            nn.Linear(10,100),nn.ReLU(),
            nn.Linear(100,10),nn.ReLU(),
            nn.Linear(10,1)
        )
    def forward(self, x):
        return self.network(x)
        
#可以在创建之后加入新的模型,而且可以给子模型定义唯一的名称索引,方便获取        
self.network.add_module("linear1",nn.Linear(100,100))
#获得这个子模型
linear=self.network.linear1

#另一种写法
from collections import OrderedDict
self.network=nn.Sequential(OrderedDict(
            ("linear1",nn.Linear(1,10)),
            ("activation1",nn.ReLU()),
            ("linear2",nn.Linear(10,100))
        ))
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/738875.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号