当我运行以下代码时
import tensorflow as tf
def compute_area(sides):
a = sides[:, 0]
b = sides[:, 1]
c = sides[:, 2]
# Heron formula
s = (a + b + c) * 0.5
area_sq = s * (s - a) * (s - b) * (s - c)
return tf.sqrt(area_sq)
with tf.Session() as sess:
area = compute_area(tf.constant([5.0, 3.0, 7.1]))
result = sess.run(area)
print(result)
我得到以下错误
^{pr2}$为什么?在
[5.0, 3.0, 7.1]
是一个向量,它是一维张量。不能使用矩阵语法对向量进行切片或索引,例如使用[:, 0]
,但是,要访问向量的第一个元素,您需要(简单地)使用[0]
。因此,您的代码将按如下方式工作在TensorFlow关于张量的官方文章的“Referring to tf.Tensor slices”(关于张量的官方文章)中,您有关于TensorFlow中张量的索引和切片的更多信息。在
相关问题 更多 >
编程相关推荐