TensorFlow、Julia - 张量和 float

标签 tensorflow julia

为什么我可以将 Float 转换为张量,如下所示:

tensor = convert(TensorFlow.Tensor{Float32}, 0.05)
<Tensor Cast_8:1 shape=() dtype=Float32>

但不是 float 的张量。以下命令:

convert(Float32, tensor)

返回以下错误:

ERROR: MethodError: Cannot `convert` an object of type TensorFlow.Tensor{Float32} to an object of type Float32
This may have arisen from a call to the constructor Float32(...),
since type constructors fall back to convert methods.

如何在变量或数组中使用张量的值?

谢谢

最佳答案

在 TensorFlow 中(与实际数学不同) 张量并不是真正(仅)包装一些数字的东西。 它位于计算图中的符号值中,它可能恰好包含常量(如您的情况),但也可能包含变量和占位符。因此,一般来说,转换为数字是没有意义的——变量和占位符在您刚刚定义它们时没有具体值。

您需要做的是在 session 运行张量:

sess = Session(Graph())
run(sess, tensor)    # plus necessary initializers and placeholders

这将评估计算图,直到可以确定张量的值。看看 basic examples ;所有 TensorFlow 代码都是此方案的重复:定义图形,然后使用为占位符和初始值提供的实际数据在 session 中运行它。

关于TensorFlow、Julia - 张量和 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50465195/

相关文章:

python - Keras 损失没有减少

julia - 删除 Julia 1.1 中向量中的所有重复元素

python - 准备张量分配时出现意外失败 : tensorflow/lite/kernels/reshape. cc :85 num_input_elements ! = num_output_elements (1200 != 0)

python - 使用 TensorFlow Probability 的 Edward2 的简单哈密顿蒙特卡罗示例

neural-network - Tensorflow:检索元图时修改占位符的形状

julia - 取决于全局定义位置,执行时间要长几个数量级?

sorting - 使用 Julia 将项目插入到排序列表中(有和没有重复)

julia - 将全局标题添加到 Plots.jl 子图

tcp - Julia ZMQ - 连接到其他 WebSockets 产生 StateError

python - tf.global_variable_initializer() 关于 session ?