Я новичок в 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
кто-нибудь знает как это решить?