美文网首页
MDGN遇到的错误

MDGN遇到的错误

作者: 学号叁拾 | 来源:发表于2019-05-27 11:03 被阅读0次
image.png

进入到net之中之后,处理图像总是会遇到奇奇怪怪的问题
因为loss函数的问题,该loss为了使生成的两个描述细节上不一样的,本来在jupyter notebook上能运行的,搬到程序里面跑就出不来了。

AssertionError: nn criterions don't compute the gradient w.r.t. targets - please mark these variables as volatile or not requiring gradients

找了资料,说对target.detach(),之后就没有这个错误了。

image.png
AttributeError: 'MDGNModel' object has no attribute 'module'

出错误的地方在:我的MDGNModel中:

loss_dict = dict(zip(net.module.loss_names, losses))

我调用loss的时候参考着源代码写的,对于module没有仔细了解


image.png

在M_model中加入了这两句话之后就有了module,没有loss_name了。
现在把loss函数放在train代码中试试:

删除了这两行代码,用了最简单的方式:

real = Variable(data['image']).cuda()
        mdgn1,mdgn2 = netM(real)

        upsample = torch.nn.Upsample(scale_factor=8, mode='bilinear')

        up1 = upsample(mdgn1)

        up2 = upsample(mdgn2)


        params = list(netM.parameters())
        optimizer = torch.optim.Adam(params, lr=0.0002, betas=(0.9, 0.999))

        loss_M_SSIM = -ssim_loss(real, up1) - ssim_loss(real, up2)

     
        loss_M_DIS = -criterionDIS(mdgn1.detach(), mdgn2.detach()) * 0.1

        loss = loss_M_SSIM + loss_M_DIS

        optimizer.zero_grad()
        loss.backward()

其中对DIS求loss的时候总是出错误,改成了detach就可以了。

5.23号:

开启保存图像和保存模型之路:


image.png

错误代码:

RuntimeError: can't convert CUDA tensor to numpy (it doesn't support GPU arrays). Use .cpu() to move the tensor to host memory first.

在data之后加入.cpu就可以了
但是在转入numpy之后依旧不可用,所以转成了tensor。因为我的tensor是四维的,而toPIL的tensor需要三维,所以出现了该错误:

TypeError: pic should be Tensor or ndarray. Got <class 'torch.cuda.FloatTensor'>.

之后

up2_tensor = up1_tensor[0]

转换成PIL类型的图像之后,可以直接save。

5.27号保存模型

两种办法:

  • 保存模型
    torch.save(net,'net.pkl')
  • 保存网络参数:
    torch.save(net.sate_dict(),'params.pkl')
    torch.save保存成一个序列化字典,可以保存网络,网络参数,优化器参数,最后给定一个PATH,
    torch.load()即可加载模型。

相关文章

  • MDGN遇到的错误

    进入到net之中之后,处理图像总是会遇到奇奇怪怪的问题因为loss函数的问题,该loss为了使生成的两个描述细节上...

  • 遇到错误

    当把中文用json.dumps写入文件时 sql语句:http://www.w3school.com.cn/sql...

  • 遇到错误

    一、在block函数中规避警告信息 "capturing self strongly in this block ...

  • git遇到的错误

    1、Could not open file .git/rebase-merge/done for reading:...

  • WebViewJavascriptBridge 遇到的错误

    最近写的项目有用到三方库WebViewJavascriptBridge用wkwebview加载的,一开始加载就是白...

  • Markdown 遇到的错误

    1.使用插入图片语句![图片](地址)使用之后图片没有出现在预览界面 这种显示出错;可能是
    后面不能直接...

  • python遇到的错误

    1、expected an indented block 冒号后面是要写上一定的内容的(新手容易遗忘这一点); 缩...

  • SVN 遇到的错误

    在使用svn时今天遇到了下面的错误, Error : Previous operation has not fin...

  • mysql遇到的错误

    1.导入SQL文件时报错 因为MySQL 5.6以后timestamp设定默认值规则改变,不能为”0000 00-...

  • Eclipse遇到的错误

    Q1 Conversion to Dalvik format failed: Unable to execute ...

网友评论

      本文标题:MDGN遇到的错误

      本文链接:https://www.haomeiwen.com/subject/ujqyzqtx.html