Machine learning 使用previous.pth初始化,并在pytorch中为下一个时代进行培训
如何根据以前的权重初始化UNet模型,并进一步训练模型以适应更多时代 这是当前模型,经过培训后,我将state_dict()保存为.pth文件Machine learning 使用previous.pth初始化,并在pytorch中为下一个时代进行培训,machine-learning,deep-learning,pytorch,conv-neural-network,Machine Learning,Deep Learning,Pytorch,Conv Neural Network,如何根据以前的权重初始化UNet模型,并进一步训练模型以适应更多时代 这是当前模型,经过培训后,我将state_dict()保存为.pth文件 class UNet(nn.Module): def __init__(self): super(UNet,self).__init__() # encoder self.max_pool_2x2 = nn.MaxPool2d(kernel_size=2,stride=2)
class UNet(nn.Module):
def __init__(self):
super(UNet,self).__init__()
# encoder
self.max_pool_2x2 = nn.MaxPool2d(kernel_size=2,stride=2)
self.down_conv_1 = double_conv(3,64)
self.down_conv_2 = double_conv(64,128)
self.down_conv_3 = double_conv(128,256)
self.down_conv_4 = double_conv(256,512)
self.down_conv_5 = double_conv(512,1024)
# decoder
self.up_trans_1= nn.ConvTranspose2d(in_channels=1024,
out_channels=512,
kernel_size=2,
stride=2)
self.up_conv_1 = double_conv(1024,512)
self.up_trans_2= nn.ConvTranspose2d(in_channels=512,
out_channels=256,
kernel_size=2,
stride=2)
self.up_conv_2 = double_conv(512,256)
self.up_trans_3= nn.ConvTranspose2d(in_channels=256,
out_channels=128,
kernel_size=2,
stride=2)
self.up_conv_3 = double_conv(256,128)
self.up_trans_4 = nn.ConvTranspose2d(in_channels=128,
out_channels=64,
kernel_size=2,
stride=2)
self.up_conv_4 = double_conv(128,64)
self.out = nn.Conv2d(64,1,kernel_size=1)
def forward(self, image):
##code for forward prop
model=UNet()
model.cuda()
# y= model(image)
# model.train()
# optimizer = optim.SGD(model.parameters(), lr = 0.1, momentum=0.9)
现在我想用这个.pth文件初始化同一个模型并进一步训练
state= torch.load("/content/model_WandB_12.pth")
model.load_state_dict(state)
用于加载模型和
然后运行训练循环这能解决您的问题吗?看见