gpt4 book ai didi

c# - 如何在 TensorFlowSharp 中 reshape 张量

转载 作者:行者123 更新时间:2023-11-30 23:09:33 26 4
gpt4 key购买 nike

TensorFlowSharp 是 c# 平台中 TensorFlow 的包装器。 click it to jump to TensorFlowSharp github

现在我需要将形状为 [32,64,1] 的张量 reshape 为形状为 [1, 2048] 的新张量。但是当我引用官方 API 文档时,用法似乎是这样的:

TFOutput Reshape (TensorFlow.TFOutput tensor, TensorFlow.TFOutput shape);

问题是我不知道如何用 TFOutput 的方式表达我需要的形状任何建议将不胜感激:)!

最佳答案

在标准 TensorFlowSharp 中,可以通过以下方式给出有关如何执行此操作的示例:

tf.Reshape(x, tf.Const(shape));

其中 tf 是您的 TFSession 中的当前默认 TFGraph。

或者,如果您使用 Keras Sharp,您可以使用

using (var K = new TensorFlowBackend())
{
double[,] input_array = new double[,] { { 1, 2 }, { 3, 4 } };
Tensor variable = K.variable(array: input_array);
Tensor variable_new_shape = K.reshape(variable, new int[] { 1, 4 });
double[,] output = (double[,])variable_new_shape.eval();

Assert.AreEqual(new double[,] { { 1, 2, 3, 4 } }, output);
}

https://github.com/cesarsouza/keras-sharp/blob/efac7e34457ffb7cf6712793d5298b565549a1c2/Tests/TensorFlowBackendTest.cs#L45 所示

关于c# - 如何在 TensorFlowSharp 中 reshape 张量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45753153/

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