keras当中对MobileNet进行fine-tuning出现的错误:could not create a dilated convolution forward descriptor

tensorflow.python.framework.errors_impl.AbortedError: Operation received an exception:Status: 3, message: could not create a dilated convolution forward descriptor, in file tensorflow/core/kernels/mkl_conv_ops.cc:1111
	 [[{{node conv1/convolution}}]]

在对MobileNet进行fine-tuning的时候出现了上述的错误,更加诡异的是fine-tuning之后的模型在使用model.fit方法时没有错误,然而在使用model.evaluate时会出现这一错误,从逻辑上讲,代码是没有问题的(如果有问题,在进行训练的时候就会出错,而不是等到对模型进行评估时才出问题)。但是从错误提示信息上来看,是卷积层出现了问题,于是乎一开始尝试着对fine-tuning时的卷积层全部去掉,发现还是没用,于是又经过各种折腾,比如修改卷积层的参数之类的(因为错误信息提示的是没办法进行扩张卷积运算,我以为是卷积的步长或者是卷积核设置的有问题),各种改完之后还是没用。在Google上搜索也只有寥寥几条的结果,最后在github的讨论区找到了答案,链接在此,于是立马用anaconda新建Python3.6(注意:Python3.7的环境安装不上keras的2.1.5版本)的环境,创建完之后用Anaconda Prompt的命令行安装keras 2.1.5版本(conda install keras==2.1.5),注意,用Anaconda安装时会自动附带安装TensorFlow的1.10.0版本,之后无需再安装或者是升级TensorFlow版本。随后再将之前出错的代码(之前我使用的环境是Python3.7 keras2.2.4 TensorFlow1.13.1)迁移到新建的环境下。然后model.fit,model.evaluate,model.predict三种方法均不会报错。

PS:在对MobileNet的fine-tuning的时候出现了各种奇奇怪怪的问题,除了这个之外,另外的问题还有:

keras当中对MobileNet进行fine-tuning出现的错误we expect the tensors to have a static batch size

keras当中对MobileNet进行fine-tuning出现的错误:could not create a dilated convolution forward descriptor

keras当中对MobileNe进行fine-tuning出现的错误:Attempting to use uninitialized value

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值