gpt4 book ai didi

python - 如何从 tensorflow 中的常量创建向量

转载 作者:太空宇宙 更新时间:2023-11-03 13:59:32 25 4
gpt4 key购买 nike

如何从 tensorflow 常量/变量等创建 tensorflow 向量?例如,我有一个常量x,我想创建一个[x]向量。

我已经尝试过下面的代码,但它不起作用。任何帮助将不胜感激。

x = tf.placeholder_with_default(1.0,[], name="x")
nextdd = tf.constant([x], shape=[1], dtype=tf.float32)

最佳答案

首先我想为您定义一个张量:

张量是 n 维矩阵。 0 阶张量是标量,例如42. 1 阶张量是一个向量,例如[1,2,3],2 阶张量是一个矩阵,3 阶张量可能是形状为 [640, 480, 3] 的图像(640x480 分辨率,3 个颜色 channel )。 4 阶张量可能是一批形状为 [10, 640, 480, 3] 的图像(10 640x480 图像)等。

其次,Tensorflow 中基本上有 4 种类型的张量。

1) 占位符 - 这些是您在调用 sess.run 时传递到 Tensorflow 中的张量。例如:sess.run([nextdd], {x:[1,2,3]})x 中创建一个 1 阶张量。

2) 常量 - 顾名思义,这些是固定值。例如。 tf.constant(42) 并且应该在编译时指定,而不是运行时(避免此处的主要错误)。

3) 计算张量 - x = tf.add(a,b) 是一个计算张量,它是根据 a,b 计算得出的。计算完成后,其值不被存储。

4) 变量 - 这些是可变张量,在计算完成后保留。例如神经网络的权重。

现在明确回答您的问题。 x 已经是一个张量。如果您传入一个向量,那么它是一个 1 阶张量(也称为向量)。您可以像使用常量、计算张量或变量一样使用它。它们在操作中的工作原理都是相同的。 nextdd 行根本没有理由。

现在,nextdd 失败,因为您尝试从变量项创建常量,这不是定义的操作。 tf.constant(42) 定义良好,这就是常量。

您可以直接使用 x,如下所示:

x = tf.placeholder_with_default(1.0,[], name="x")
y = tf.add(x, x)
sess = tf.InteractiveSession()
y.eval()

结果:

2.0

关于python - 如何从 tensorflow 中的常量创建向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49349702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com