【问题标题】:How to test your own (single image) data using an already trained model?如何使用已经训练好的模型测试您自己的(单张图像)数据?
【发布时间】:2020-05-27 21:53:24
【问题描述】:

我正在尝试运行此repository。并且,尝试用我自己的数据进行测试。当我尝试这样做时,我收到了这个错误:

Traceback(最近一次调用最后一次):文件“test.py”,第 34 行,在 输出 = 预测(模型,输入)文件“/home/kbdp5524/Downloads/DenseDepth-master/utils.py”,第 12 行,在 预测 预测 = model.predict(图像,batch_size=batch_size)文件“/home/kbdp5524/anaconda3/envs/densedepth/lib/python3.7/site-packages/keras/engine/training.py”, 第 1441 行,在预测中 x,_,_ = self._standardize_user_data(x) 文件“/home/kbdp5524/anaconda3/envs/densedepth/lib/python3.7/site-packages/keras/engine/training.py”, 第 579 行,在 _standardize_user_data exception_prefix='input')文件“/home/kbdp5524/anaconda3/envs/densedepth/lib/python3.7/site-packages/keras/engine/training_utils.py”, 第 145 行,在 standardize_input_data 中 str(data_shape))

ValueError:检查输入时出错:预期 input_1 具有形状 (None, None, 3) 但得到了形状为 (480, 640, 4) 的数组

这是test.pytrain.py 代码

谁能帮我解决这个问题。我是编码新手 :)

【问题讨论】:

  • 您正在输入一个 RGBA 图像(4 个通道),网络只需要 3 个。将图像转换为 RGB(并确保您不需要执行其他预处理操作),然后再将其输入网络
  • 谢谢 :) 另外,(None, None) 是什么意思?
  • None 在一个形状中意味着任何形状都可以在那里。在这种情况下,您的网络接受任何宽度/高度的输入图像

标签: python tensorflow testing keras conv-neural-network


【解决方案1】:

您的输入图像具有形状 (None, None, 4) RGBA 图像,但模型需要 3 通道图像均值 (None, None, 3) RGB。所以你必须将你的图像转换为 3 通道。 您可以使用 OpenCV 函数 cv2.cvtColor(Image, cv2.COLOR_RGBA2RGB ) 来做到这一点。

安装openCV:pip install python-opencv

【讨论】:

    猜你喜欢
    • 2018-01-14
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 2023-04-09
    • 2020-12-18
    • 1970-01-01
    • 2018-10-12
    • 2019-02-22
    相关资源
    最近更新 更多