我正在尝试规范化我的 CoreML 模型的输入,如下所示,它对数组做了一些事情,但它与 SKLearn 所做的完全不同(我在这些环境中提供相同的输入并观察输出)。所以显然我做错了什么。
我的模型是用 Keras 和 SKlearn 训练的,它必须像我使用 SKLearn Normalizer 那样做同样的归一化,这是默认的L2 normalizer。我在下面所做的显然与 sklearn 不同,有什么想法吗?
vDSP_normalizeD(vec, 1, &normalizedVec, 1, &mean, &std, vDSP_Length(count))
let (normalizedXVec, _, _) = normalize(vec: doubleArray)
然后在这里我将normalizedXVec转换为MLMultiArray并用作我的预测器的输入
注意:我还尝试使用 coreml 工具从 sklearn 转换规范化器,但出现错误,如下所示:
vDSP_normalizeD
使用均值和标准差。这与 L2 不同。
L2 归一化首先计算向量的 L2 范数,它与向量的sqrt(v[0]*v[0] + v[1]*v[1] + ... + v[n]*v[n])
每个元素相同,然后将向量的每个元素除以该数字。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句