msvq#
- class diffsptk.MultiStageVectorQuantization(order, codebook_size, n_stage, **kwargs)[source]#
- See this page for details. - Parameters:
- orderint >= 0 [scalar]
- Order of vector, \(M\). 
- codebook_sizeint >= 1 [scalar]
- Codebook size, \(K\). 
- n_stageint >= 1 [scalar]
- Number of stages (quantizers), \(Q\). 
- **kwargsadditional keyword arguments
- See this page for details. 
 
 - forward(x, codebooks=None, **kwargs)[source]#
- Perform residual vector quantization. - Parameters:
- xTensor [shape=(…, M+1)]
- Input vectors. 
- codebooksTensor [shape=(Q, K, M+1)]
- External codebooks. If None, use internal codebooks. 
- **kwargsadditional keyword arguments
- See this page for details. 
 
- Returns:
- xqTensor [shape=(…, M+1)]
- Quantized vectors. 
- indicesTensor [shape=(…, Q)]
- Codebook indices. 
- lossesTensor [shape=(Q,)]
- Commitment losses. 
 
 - Examples - >>> x = diffsptk.nrand(4) >>> x tensor([-0.5206, 1.0048, -0.3370, 1.3364, -0.2933]) >>> msvq = diffsptk.MultiStageVectorQuantization(4, 3, 2).eval() >>> xq, indices, _ = msvq(x) >>> xq tensor([-0.4561, 0.9835, -0.3787, -0.1488, -0.8025]) >>> indices tensor([0, 2])