示例#1
0
        public void QuantizeNorm(float[] norms)
        {
            Debug.Assert(qnorm_);
            Debug.Assert(norms.Length == m_);

            npq_.Train((int)m_, norms);
            npq_.ComputeCodes(norms, norm_codes_, (int)m_);
        }
示例#2
0
        public void Quantize(DenseMatrix mat)
        {
            if (qnorm_)
            {
                var norms = new float[mat.Size(0)];
                mat.L2NormRow(norms);
                mat.DivideRow(norms);
                QuantizeNorm(norms);
            }

            var data = mat.data;

            pq_.Train((int)m_, data);
            pq_.ComputeCodes(data, codes_, (int)m_);
        }