并行计算向量的欧式距离和KL距离
参考思路有: https://blog.****.net/lavorange/article/details/42125029
0. 说明
问题1:计算一个D维的向量A[D]到二维矩阵B[N][D]的每一行的对称KL散度,并且将每一组距离保存在一个向量dis[N]中并返回, 最后根据dis[N]选出最小值。由于N很大, 需要并行来进行实现
问题2:计算一个D维的向量A[D]到二维矩阵B[N][D]的每一行的欧氏距离,并且将每一组距离保存在一个向量dis[N]中并返回, 最后根据dis[N]选出最小值。由于N很大, 需要并行来进行实现
使用numpy的代码的定义如下:
1. 使用Numpy并行
2. 使用PyTorch并行
参考:
- https://blog.****.net/Answer3664/article/details/106265132
- https://blog.****.net/dongfangxiaozi_/article/details/93882664
- https://www.cnblogs.com/journeyonmyway/p/12520818.html
- https://pytorch.org/docs/stable/nn.functional.html
2.1. dist2_PyTorch_findA_forChineseSpeaker_outPPGSPEC.py
- 采用audio_10ms.py
- 原句子是英文, 目标说话人是中文
- 原句子不加以区分时train set还是validation set, 其实应该区分TODO
- 全部语料的英文句子都VC到中文说话人, meta list: /datapool/home/hujk17/ppg_decode_spec_10ms_sch_Multi/meta_good_merge_ljspeech_v2.txt
- 计算部分加上.cuda(), 但是不确定是不是运算用了GPUTODO
- 没确认GPU的entropy是不是和之前的一致, 包括转到GPU的误差, 需要测TODO