训练涉及“ivfsp_train_codebook.py”脚本(训练脚本位于安装目录下的“tools/train”文件夹中),注意Python版本为3.9.11。
为了用户执行方便,提供了“ivfsp_train_codebook_example.sh”样例脚本(脚本位于安装目录下的“tools/train”文件夹中),用户可在此文件上根据实际场景修改参数值,然后执行此脚本生成码本文件。
命令参考 |
python3 ivfsp_train_codebook.py --dim <dim> --nonzero_num <nonzero_num> --nlist <nlist> --num_iter <num_iter> --device <device> --batch_size <batch_size> --code_num <code_num> --ratio <ratio> --learn_data_path <learn_data_path> --codebook_output_dir <codebook_output_dir> --train_model_dir <train_model_dir> |
---|---|
参数名称 |
<dim>:特征向量维度。与IVFSP训练算子模型文件生成的<dim>保持一致,要求大于0。 <nonzero_ num>:特征向量压缩后非零维度个数,与IVFSP训练算子模型文件生成的<low_dim>保持一致,要求大于0。 <nlist>:簇聚类中心个数。与IVFSP训练算子模型文件生成的<k>保持一致,要求大于0。 <num_iter>:训练迭代次数参数,默认为20。迭代次数设置过大,会导致训练时长增加,要求大于0。 <device>:设备逻辑ID,在指定的Device上执行训练,默认值为“0”。 <batch_size>:训练时以batch_size大小执行训练。与IVFSP训练算子模型文件生成的<batch_size>保持一致,要求大于“0”,默认值为“32768”。 <code_num>:每次最大按code_num样本数量操作码本,必须为2的幂次。与IVFSP训练算子模型文件生成的<codebook_batch_size>保持一致,要求大于0。 <ratio>:训练用原始样本的采样率,0 < ratio ≤ 1.0,默认为1.0。 <learn_data_filepath>:训练用的原始特征文件路径,支持bin、npy格式,bin存储方式为行优先,数据类型为float32。 <codebook_output_dir>:生成的码本文件输出到的目录,用户应该保证此目录存在,且程序的执行用户对此目录具有写权限;出于安全加固的考虑,此目录层级中不能含有软链接。 <train_model_dir>:IVFSP训练算子模型文件所在目录。 --help | -h:查询帮助信息。 |
使用说明 |
|