DeepLabv3+ vis.py 运行报错new_height_const = size_const_as_shape.dims[0].value TypeError: ‘NoneType‘

根据Github Issues上的讨论,主要的原因是tensorflow1.1x版本中tf.image.resize(原代码中使用tf.image.resize_images,但已被弃用,因此改为tf.image.resize)对图片height与width的获取部分有问题,即在所处环境中找到:\lib\python3.7\site-packages\tensorflow_core\python\ops\image_ops_impl.py,其中

    new_height_const = size_const_as_shape.dims[0].value
    new_width_const = size_const_as_shape.dims[1].value

改为

    new_height_const = tensor_shape.dimension_at_index(size_const_as_shape,
                                                       0).value
    new_width_const = tensor_shape.dimension_at_index(size_const_as_shape,
                                                      1).value

即可修复此错误,此外将tensorflow降为1.12版本以下应该也能解决该问题,但笔者没有亲身尝试。这里的报错的具体原因还不是很清楚,可能是因为源代码把size_const_as_shape当做了constant类型处理,然而实际上size_const_as_shape应该是variable的类型,因此在获取数据维度大小时失败,得到了None,后续的对None索引就报错了

 

Giuhub issues:https://github.com/tensorflow/models/issues/8154

solutions:https://github.com/UofT-EcoSystem/tensorflow/commit/24c75ce5016efb4ab107f27b96aac07549d8617b

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值