如何在 Keras 中生成 class_labels.txt 以在 CoreML 模型中使用?

Posted

技术标签:

【中文标题】如何在 Keras 中生成 class_labels.txt 以在 CoreML 模型中使用?【英文标题】:How do I generate a class_labels.txt in Keras for usage in a CoreML model? 【发布时间】:2018-04-17 16:35:00 【问题描述】:

我一直在尝试使用 coreML 创建一个 ios 应用程序,我在 Keras 中训练了一个卷积神经网络,当我使用 CoreMLTools 将此模型转换为 CoreML 模型时,它显示输出是一个多维数组,但我想要它是一个类概率。如何在 Keras 中生成带有类标签的 .txt 文件?

这是我用来生成 coreML 模型的代码:

import coremltools

coreml_model = coremltools.converters.keras.convert(
                                                    "chars74kV3.0.h5", class_labels = "class_labels.txt", image_input_names= ['input'], input_names=['input'], image_scale=255.)
coreml_model.author = 'Thijs van der Heijden'
coreml_model.license = 'MIT'
coreml_model.description = 'A basic Deep Convolutional Neural Network to classify handwritten letters.'
coreml_model.input_description['input'] = 'A 64x64 pixel Image'
coreml_model.save('chars74k.mlmodel')

【问题讨论】:

【参考方案1】:

class_labels.txt 文件应该只是一个纯文本文件,每行一个标签,按照训练集中的类的顺序排列。例如,

dog
cat
person

将是三类网络的标签文件,其中 0 类是“狗”,1 类是“猫”,2 类是“人”。如果这是一个公共分类数据集,您应该拥有该数据集的该信息,如果它是您自己的,您只需创建这样的映射文件。无论如何,您都必须这样做才能将班级编号与值相关联。

【讨论】:

以上是关于如何在 Keras 中生成 class_labels.txt 以在 CoreML 模型中使用?的主要内容,如果未能解决你的问题,请参考以下文章

如何在访问报告中生成列表?

如何在 Bash 中生成随机数?

如何在Javascript中生成随机数[重复]

如何在多线程环境中生成 PreparedStatements?

如何在 R 中生成 GUID?

如何在 Eclipse 中生成 Javadoc 注释? [复制]