Python 在使用deep learning做视频帧插值时,我遇到了损失不变的问题

Python 在使用deep learning做视频帧插值时,我遇到了损失不变的问题,python,deep-learning,pytorch,Python,Deep Learning,Pytorch,从头到尾没有变化,即使小数点后的7位数字也没有变化。 这是我的网络: 这是我的密码 #实例化网络 mynet=Network() #损失函数 criterion = nn.MSELoss() #梯度下降 optimizer = optim.SGD(mynet.parameters(), lr=0.001, momentum=0.9)#学习率0.001 动量0.9 #定义训练几轮 epochs=60 dir_path = os.listdir(arguments_strVideo) #开

从头到尾没有变化,即使小数点后的7位数字也没有变化。
这是我的网络:

这是我的密码



#实例化网络
mynet=Network()
#损失函数
criterion = nn.MSELoss()
#梯度下降
optimizer = optim.SGD(mynet.parameters(), lr=0.001, momentum=0.9)#学习率0.001 动量0.9

#定义训练几轮
epochs=60

dir_path = os.listdir(arguments_strVideo)
#开始训练
for epoch in range(epochs):
    for i,path in tqdm(enumerate(train_videos)):
        trueFrames = [ None, None,None ]
        tempFrames = [ None, None,None ]
        myloss = 0
        zs_all = 1
        in_movie = VideoFileClip(path)
        print("第{0}个视频,该视频帧数为{1}".format(i,in_movie.reader.nframes))
        for intFrame, npyFrame in enumerate(npyFrame[:, :, ::-1] for npyFrame in moviepy.editor.VideoFileClip(filename=path).iter_frames()):
            if intFrame%50==0:
                print("已训练{0}帧,loss为{1}".format(intFrame,myloss*3/zs_all))
            if intFrame%3==0 and intFrame!=0:
                tempFrames[0] = trueFrames[0]
                tempFrames[2] = trueFrames[2]
                tempFrames[1] = estimate(tempFrames[0], tempFrames[2])                

                optimizer.zero_grad() #清空梯度
                loss=criterion(tempFrames[1],trueFrames[1])
                loss.backward(retain_graph=True)#反向传播
                optimizer.step()#梯度下降
                myloss+=loss.item()            
                zs_all = intFrame
                    
            trueFrames[intFrame%3] = torch.FloatTensor(numpy.ascontiguousarray(npyFrame.transpose(2, 0, 1).astype(numpy.float32) * (1.0 / 255.0)))
        print(i,"loss:{0}".format(myloss*3/zs_all))
        myloss=0
                

            # tenFrames[4] = torch.FloatTensor(numpy.ascontiguousarray(npyFrame.transpose(2, 0, 1).astype(numpy.float32) * (1.0 / 255.0)))
    


希望有人能帮助我。呜呜呜呜…..

请详细说明您的问题是什么,您需要什么帮助。