Argument must be a dense tensor: range(0, 3) - got shape [3], but wanted []

本文解决了一个在使用TensorFlow过程中遇到的ValueError问题,该问题是由于从Python2升级到Python3后,range()函数的行为变化导致的。具体表现为尝试将range(0,3)转换为张量时失败,因为期望的是空形状,而实际得到了一个范围对象。通过将range()替换为list(range())成功解决了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tensorflow遇到问题:

ValueError: Tried to convert 't' to a tensor and failed. Error: Argument must be a dense tensor: range(0, 3) - got shape [3], but wanted [].

原因是python2转python3后,range()返回的shape是range(0,3)而不再是list。

需要将models/research/object_detection/utils/learning_schedules.py里的:

  rate_index = tf.reduce_max(tf.where(tf.greater_equal(global_step, boundaries),
                                      range(num_boundaries),
                                      [0] * num_boundaries))

修改成:

  rate_index = tf.reduce_max(tf.where(tf.greater_equal(global_step, boundaries),
                                      list(range(num_boundaries)),
                                      [0] * num_boundaries)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值