将形状的张量(?,32,24,24)转换为3D numpy数组

时间:2018-09-10 07:57:36

标签: python arrays numpy tensorflow

我有一个张量,其中包含32张灰度图像,每张图像的尺寸均为24x24。

张量是在使用Keras和tensorflow后端构建的CNN中的Conv2D层之后生成的。数据以numpy数组的形式提供给模型。

现在,我希望将输出张量转换为numpy数组,然后再次转换为张量。

我已参考ImportValue并编写了这段似乎无效的简单代码

sess = tf.InteractiveSession()
ip = np.array(x.eval())

在这里,x是我的张量,ip是预期的numpy数组。这抛出为InvalidArgumentError()。有什么办法可以摆脱未知的(?)维度?

这是堆栈跟踪:

 Message=InvalidArgumentError()
  Source=c:\users\rangan\source\repos\fuzzycnn\fuzzycnn\fuzzyconv2d.py
  StackTrace:
  File "c:\users\rangan\source\repos\fuzzycnn\fuzzycnn\fuzzyconv2d.py", line 31, in call
    ip = np.array(x.eval())
  File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\site-packages\keras\engine\base_layer.py", line 507, in __call__
    inputs=to_list(inputs))
  File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\site-packages\keras\engine\sequential.py", line 185, in add
    output_tensor = layer(self.outputs[0])
  File "c:\users\rangan\source\repos\fuzzycnn\fuzzycnn\fuzzycnn.py", line 39, in baseline_model
    model.add(F_Conv2D(5))
  File "c:\users\rangan\source\repos\fuzzycnn\fuzzycnn\fuzzycnn.py", line 49, in <module>
    model = baseline_model()

1 个答案:

答案 0 :(得分:1)

根据定义,为特定输入批次计算输出张量值。您需要将输入值传递给eval函数:

Vue.use(Vuetify, {
  theme: {
    "primary": "#1976D2",

只要x是目标张量并且“输入”输入占位符,这是获取张量值的最简单方法。