查找H5文件的意图

问题描述 投票:2回答:1

我已经下载了一些H5文件,据我目前的理解,其中包含训练有素的图像识别模型。我可以使用Python,Keras,Tensorflow和ImageAI在图像上成功应用这些模型。

[从Internet上的一些示例中,我还发现其中一种模型经过了训练,可以检测汽车和人员。因此,我将一些汽车图像输入其中,然后开始工作。

我现在正在尝试从H5文件本身获取该信息,以便可以将某些预期的输入和某些非预期的输入传递到检测器中,以查看会发生什么。

[我搜索了Stack Overflow,了解如何读取H5文件并从中获取信息[1][2][3][4],但是我得到的所有输出只是一堆技术数据。

让我们举一个具体的例子。我的模型显然可以识别汽车和卡车:

Image of cars and trucks detected

正如我们在图像中看到的,矩形具有cartruck之类的标签,因此这是它可以识别的对象的类型。我想确切地从H5文件中获取该信息。

我有

import h5py

def printH5Content(filename: str):
    with h5py.File(filename, 'r') as f:
        print("Keys: %s" % f.keys())
        a_group_key = list(f.keys())[0]
        print(list(f[a_group_key]))

printH5Content(model_path)

但它只给我

Keys: <KeysViewHDF5 ['model_weights']>
['add_1', 'add_10', 'add_11', 'add_12', 'add_13', 'add_14', ... 'zero_padding2d_4', 'zero_padding2d_5']

而且,访客没有提供更多信息:

def printH5Content(filename: str):
    with h5py.File(filename, 'r') as f:
        f.visit(print)

我如何从H5文件中获得cartruck字样,以便找出它的培训内容?

编辑评论:

[我坚信cartruck一词必须通过消除消除在H5文件中。我有3个输入:代码,H5模型和JPG图像。

  1. JPG只是像素的组合。它对内容一无所知。
  2. 我的代码只有6行,并且不包含任何条款
  3. 剩下的唯一选项是H5文件

我的代码的最低版本是:

from imageai.Detection import ObjectDetection
detector = ObjectDetection()
detector.setModelTypeAsTinyYOLOv3()
detector.setModelPath("./models/yolo-tiny.h5")
detector.loadModel()
detection = detector.detectObjectsFromImage(input_image="./input/cars.jpg", output_image_path="./output/cars.jpg")
python tensorflow keras h5py imageai
1个回答
0
投票

我以为这些术语不在代码中这一假设是错误的。它们不在我的代码中,而是在导入的ImageAI库中。这可以通过使用ImageAI甚至不加载H5文件来确认:

from imageai.Detection import ObjectDetection
detector = ObjectDetection()
detector.setModelTypeAsTinyYOLOv3()
for _, value in detector.numbers_to_names.items():
    print(value)

这给出了ImageAI可以检测到的80个项目的列表,包括cartruck

© www.soinside.com 2019 - 2024. All rights reserved.