本人是一名退役OIer,大学专业医学,现在遇到一个难题,如下:
class Autoencoder(nn.Module):
def __init__(self):
super(Autoencoder, self).__init__()
# 编码器部分
self.encoder = nn.Sequential(
nn.Flatten(),
nn.Linear(3 * max_length, 1024),
nn.ReLU(inplace=True), # 更改为 ReLU
nn.Linear(1024, 512),
nn.ReLU(inplace=True), # 更改为 ReLU
nn.Linear(512, 256),
nn.ReLU(inplace=True), # 更改为 ReLU
nn.Linear(256, 128),
nn.ReLU(inplace=True) # 更改为 ReLU
)
# 解码器部分
self.decoder = nn.Sequential(
nn.Linear(128, 256),
nn.ReLU(inplace=True), # 更改为 ReLU
nn.Linear(256, 512),
nn.ReLU(inplace=True), # 更改为 ReLU
nn.Linear(512, 1024),
nn.ReLU(inplace=True), # 更改为 ReLU
nn.Linear(1024, 3 * max_length),
nn.Tanh() # 使用 tanh 激活函数
)
def forward(self, x):
mid = self.encoder(x)
out = self.decoder(mid)
reshape_out = out.view(out.size(0), 3, max_length)
final_out = reshape_out * 100 # 扩展输出范围
return final_out
希望来点大佬救救孩子orz