Python 将Tensorflow数组转换为Keras数组

Python 将Tensorflow数组转换为Keras数组,python,arrays,keras,Python,Arrays,Keras,我正在尝试运行一个Keras模型,在这个模型中,我从一个文件夹中读取了88幅图像,并将其放入一个numpy数组中。这个数组应该转换成Keras张量,这样我就可以处理模型中的数据了。我正在运行以下代码: import os import numpy as np from PIL import Image from keras import backend as K current_dir = os.path.dirname('__file__') image_names = os.listdir

我正在尝试运行一个Keras模型,在这个模型中,我从一个文件夹中读取了88幅图像,并将其放入一个numpy数组中。这个数组应该转换成Keras张量,这样我就可以处理模型中的数据了。我正在运行以下代码:

import os
import numpy as np
from PIL import Image
from keras import backend as K

current_dir = os.path.dirname('__file__')
image_names = os.listdir(os.path.join(current_dir, 'images'))
images = np.ndarray((len(image_names), 256, 256), dtype=np.uint8)
for i, filename in enumerate(image_names):
    images[i] = Image.open(os.path.join(current_dir,
                                        'images',
                                        filename)).resize((256, 256)).convert('L')
images = images.astype(K.floatx())
images *= 0.96/255
images += 0.02
images = images.reshape(images.shape[0], 256, 256, 1)

print(images.shape)
cats_q = K.variable(images)
print(type(cats_q))
print(K.is_keras_tensor(cats_q))
我得到以下输出

(87, 256, 256, 1)
<class 'tensorflow.python.ops.variables.Variable'>
False
(87256,256,1)
假的
如何将输出转换为Keras张量?任何帮助都将不胜感激

非常感谢,,
Andi

您应该首先构建模型,包括以正确大小构建的输入张量来处理此数据,然后在调用“拟合”函数时将numpy数组传递给keras模型

构建keras模型时,张量是计算图中的边。您不希望使用值初始化它,而是使用大小初始化它,然后在必要时传递该值

关于keras函数API,有一些很好的例子