为了账号安全,请及时绑定邮箱和手机立即绑定

使用 expand_dims 时“试图将 'dim' 转换为张量并失败”

使用 expand_dims 时“试图将 'dim' 转换为张量并失败”

函数式编程 2021-09-11 15:51:04
我希望下面的代码产生相应的张量>>> A = tf.range(3)>>> B = tf.tile(tf.expand_dims(A), [4,1])>>> print(tf.Session().run(B))[[0,1,2], [0,1,2], [0,1,2], [0,1,2]]但是,这会导致ValueError. 重现问题的简单方法如下>>> import tensorflow as tf>>> x = tf.constant([0,1,2])>>> y = tf.expand_dims(x)ValueError: Tried to convert 'dim' to a tensor and failed. Error: None values not supported.使用expand_dims和避免此错误的正确方法是什么?
查看完整描述

1 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

看起来您需要为 的axis参数指定一个值expand_dims。默认值None似乎会导致您遇到的错误。这有点奇怪,因为默认参数通常会导致某种合理的默认行为......也许这是一个错误。

您的代码应该与y = tf.expand_dims(x, axis=0). 这将导致[1, 3]您的示例中的形状为,允许您之后平铺。另一种选择是y = x[tf.newaxis, :]它还添加了一个轴。


查看完整回答
反对 回复 2021-09-11
  • 1 回答
  • 0 关注
  • 202 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信