python - 无法使用 tf.stack 合并二维数组
问题描述
我是 Tensoflow 和 python 的初学者。现在我有两个函数get_lines()和generate_rays()打算生成一个张量。我用 numpy 编写这些函数并且效果很好,但是当我将其转移到 Tensorflow 时,即将 Horizon_lines 更改为 Tensor 并将 np.vstack() 更改为 tf.stack(),它会引发错误。
编码:
def get_lines(lines, angle):
res = tf.round(lines / tf.tan(angle))
return lines, res
def generate_rays(horizon_lines,
angles={0: np.array([1, 2, 3, 4])}):
temp = [[get_lines(horizon_lines, a)] for a in angles[0]]
rays_left = tf.stack(temp, axis = 0)
其中horizon_lines是张量。
但它显示:
File "/home/zchen/PycharmProjects/test/tools/../lib/layer_utils/generate_rays.py", line 64, in generate_rays
rays_left = tf.stack(pp, axis = 0)
File "/home/zchen/.conda/envs/py3/lib/python3.7/site-packages/tensorflow/python/util/dispatch.py", line 180, in wrapper
return target(*args, **kwargs)
File "/home/zchen/.conda/envs/py3/lib/python3.7/site-packages/tensorflow/python/ops/array_ops.py", line 998, in stack
value_shape = ops.convert_to_tensor(values[0], name=name)._shape_tuple() # pylint: disable=protected-access
TypeError: 'generator' object is not subscriptable
有谁知道如何解决它?
解决方案
推荐阅读
- java - 为什么 Java 可以不花时间运行代码?
- docker - Magento Cloud Docker + Xdebug + PhpStorm = 9001 端口繁忙
- excel - 带有索引/匹配的堆叠 If 语句不起作用
- javascript - 如何使用路由器在 VueJS 中路由?
- java - Spring 不在 PhysicalNamingStrategy 实现中注入 @Value 或 @Autowired 注释变量:
- matlab - 如何在从 Matlab 调用 cplex 例程 cplexmilp 时设置时间限制
- python - Python:前置条件、后置条件和返回值
- python - 解码没有换行符的base64字符串
- javascript - How to obtain HTML code of images in ADOBE XD?
- python - Python的十进制模块将精度设置为50,即使它设置为130,如何解决这个问题?