当前位置: 首页 > 面试题库 >

/ image / Tensor Tensor(“ activation_5 / Softmax:0”,shape =(?, 4),dtype = float32)处的ValueError不是此图的元素

公良向阳
2023-03-14
问题内容

我正在构建图像处理分类器,并且此代码是用于预测整个代码正在运行的图像的图像类的API,但此行除外(pred =
model.predict_classes(test_image)),此API在Django框架中进行并且正在使用python 2.7

如果我像往常一样运行此代码(无需制作API),这一点就可以完美运行

def classify_image(request):
if request.method == 'POST' and request.FILES['test_image']:

    fs = FileSystemStorage()
    fs.save(request.FILES['test_image'].name, request.FILES['test_image'])


    test_image = cv2.imread('media/'+request.FILES['test_image'].name)

    if test_image is not None:
        test_image = cv2.resize(test_image, (128, 128))
        test_image = np.array(test_image)
        test_image = test_image.astype('float32')
        test_image /= 255
        print(test_image.shape)
    else:
        print('image didnt load')

    test_image = np.expand_dims(test_image, axis=0)
    print(test_image)
    print(test_image.shape)

    pred = model.predict_classes(test_image)
    print(pred)

return JsonResponse(pred, safe=False)

问题答案:

您的test_image和tensorflow模型的输入不匹配。

# Your image shape is (, , 3)
test_image = cv2.imread('media/'+request.FILES['test_image'].name)

if test_image is not None:
    test_image = cv2.resize(test_image, (128, 128))
    test_image = np.array(test_image)
    test_image = test_image.astype('float32')
    test_image /= 255
    print(test_image.shape)
else:
    print('image didnt load')

# Your image shape is (, , 4)
test_image = np.expand_dims(test_image, axis=0)
print(test_image)
print(test_image.shape)

pred = model.predict_classes(test_image)

以上仅为假设。如果要调试,我想您应该打印图像大小并与模型定义的第一个布局进行比较。并检查尺寸(宽度,高度,深度)是否匹配



 类似资料:
  • 问题内容: 我已经检查了所有解决方案,但仍然遇到相同的错误。我的训练图像形状是,我相信它是4维的,但是我不知道为什么错误显示它是5维的。 所以这就是我的定义 问题答案: 问题是。 它实际上应该仅包含3个维度。内部keras将添加批次尺寸使其成为4。 由于您可能使用了4维(包括批处理),因此keras将添加5维。 您应该使用。

  • 问题内容: 在我的Tensorflow神经网络开始训练之前,会打印出以下警告: 警告:tensorflow:Layer my_model正在将输入张量从dtype float64转换为float32层的dtype,这在TensorFlow 2中是新行为。该层具有dtype float32,因为其dtype默认为floatx。如果打算在float32中运行此层,则可以安全地忽略此警告。 如有疑问,仅

  • 问题内容: 我收到这个错误 ‘ValueError:Tensor Tensor(“ Placeholder:0”,shape =(1,1),dtype = int32)不是此图的元素。’ 不使用,代码运行正常。但是我需要多次调用,每次之后内存都不可用。可能存在内存泄漏,但不确定在哪里。 我想还原一个预先训练的神经网络,将其设置为默认图,并在默认图上对其进行多次测试(例如10000),而不必每次都使

  • 问题内容: 在最新的机制的文档有: 问:什么是mb-0? 问题答案: Bootstrap具有广泛的响应边距和填充实用程序类。它们适用于所有断点: xs (<= 576px), sm (> = 576px), md (> = 768px), lg (> = 992px)或 xl (> = 1200px)) 这些类以以下格式使用: {属性} {}双方- {}尺寸 为XS& {属性} {}双方- {断点

  • @subpage tutorial_py_colorspaces_cn 学习如何将图像从一个颜色空间变换到另外一个。 另外,我们还将学习在一段视频中追踪一个有颜色的物体。 @subpage tutorial_py_geometric_transformations_cn 学习对图像进行不同的几何变换,像旋转、平移等等。 @subpage tutorial_py_thresholding_cn 学习