Deep learning 如何将Pytorch模块(具有就地操作)更改为可微的?

Deep learning 如何将Pytorch模块(具有就地操作)更改为可微的?,deep-learning,pytorch,lstm,recurrent-neural-network,dropout,Deep Learning,Pytorch,Lstm,Recurrent Neural Network,Dropout,我的层是这样的(我制作了一个LSTM层,在每个时间步中应用了dropout,输入经过10次,然后返回输出的平均值) 导入火炬 从火炬进口 类随机LSTM(nn.Module): 定义初始值(自身、输入大小:int、隐藏大小:int、退出率:float): """ Args: -辍学率:应介于0和1之间 """ 超级(随机lstm,self)。\uuuu init\uuuu() self.iter=10 self.input\u size=输入大小 self.hidden\u size=隐藏的大小

我的层是这样的(我制作了一个LSTM层,在每个时间步中应用了dropout,输入经过10次,然后返回输出的平均值)

导入火炬
从火炬进口
类随机LSTM(nn.Module):
定义初始值(自身、输入大小:int、隐藏大小:int、退出率:float):
"""
Args:
-辍学率:应介于0和1之间
"""
超级(随机lstm,self)。\uuuu init\uuuu()
self.iter=10
self.input\u size=输入大小
self.hidden\u size=隐藏的大小

如果不是0,则使用Python列表收集张量结果,并在末尾将列表堆叠成一个张量,例如,而不是

t = torch.zeros(5, 5)
for i in range(5):
    t[i,:] = ...
这样做

t = []
for i in range(5):
    t.append(...)
t = torch.stack(t)

相反,使用Python列表来收集张量结果,并在末尾将列表堆叠成一个张量,例如,而不是

t = torch.zeros(5, 5)
for i in range(5):
    t[i,:] = ...
这样做

t = []
for i in range(5):
    t.append(...)
t = torch.stack(t)