如何在 CoreML 神经网络中使用半浮点数?
How can I use half floats with CoreML neural nets?
我已将 Keras 模型转换为 CoreML。我想确保 CoreML 对其所有纹理使用半浮点数而不是全浮点数。我怎样才能做到这一点?
更新:
如何确保网络的输出是半浮点数或至少是 Float(或任何其他类型)而不是 Double?
如果您 运行 GPU 上的 CoreML 模型,则无需为此做任何事情。 MPS(金属性能着色器)将自动使用半浮点数。如果您 运行 在您的 CoreML 模型上进行 GPU 帧捕获,您可以看到这一点。
我写了一篇博客 post 关于 CoreML 如何在幕后工作,实际上演示了它使用半浮点数:http://machinethink.net/blog/peek-inside-coreml/
我已将 Keras 模型转换为 CoreML。我想确保 CoreML 对其所有纹理使用半浮点数而不是全浮点数。我怎样才能做到这一点?
更新: 如何确保网络的输出是半浮点数或至少是 Float(或任何其他类型)而不是 Double?
如果您 运行 GPU 上的 CoreML 模型,则无需为此做任何事情。 MPS(金属性能着色器)将自动使用半浮点数。如果您 运行 在您的 CoreML 模型上进行 GPU 帧捕获,您可以看到这一点。
我写了一篇博客 post 关于 CoreML 如何在幕后工作,实际上演示了它使用半浮点数:http://machinethink.net/blog/peek-inside-coreml/