【问题标题】:CoreML automatic cast int to floatCoreML 自动将 int 转换为浮点数
【发布时间】:2021-01-05 06:01:02
【问题描述】:

我是 coremltool 的新用户,目前我可以转换我的 TF 模型,并在 python 中运行它。然而,我的模型的输出层是 automatically converted 浮动而不是 int32。我必须在 python 中执行自己的回滚转换。

model.predict({"Input": image}).astype(int)

有人知道如何取消这种自动转换吗?并将我的输出保持为多维数组 - int ?

谢谢,

++t

【问题讨论】:

    标签: swift coreml coremltools


    【解决方案1】:

    您可以使用 coremltools Python 库将模型输出的数据类型更改为 INT32。这会自动将这些数字从浮点数转换为整数。

    类似这样的:

    import coremltools
    model = coremltools.models.MLModel("YourModel.mlmodel")
    spec = model._spec
    spec.description.output[0].type.multiArrayType.dataType = coremltools.proto.FeatureTypes_pb2.ArrayFeatureType.INT32
    coremltools.models.utils.save_spec(spec, "YourNewModel.mlmodel")
    

    这不是自动完成的原因是因为通常浮点数是正确的数据类型。

    【讨论】:

    • 谢谢你,你的书很好。我上周买的。
    猜你喜欢
    • 1970-01-01
    • 2014-09-03
    • 2022-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多