CNTK:不使用1位SGD的Python数据并行训练

CNTK:不使用1位SGD的Python数据并行训练,python,cntk,Python,Cntk,我在这里查看文档: 根据正文:“数据并行SGD可与1比特SGD一起使用,也可不与1比特SGD一起使用。” 然而,在本文件中,只有使用1位SGD的数据并行相关章节:“使用1位SGD的数据并行培训”,代码如下: distributed_learner = distributed.data_parallel_distributed_learner( learner = learner, num_quantization_bits = 1, distributed_after

我在这里查看文档:

根据正文:“数据并行SGD可与1比特SGD一起使用,也可不与1比特SGD一起使用。”

然而,在本文件中,只有使用1位SGD的数据并行相关章节:“使用1位SGD的数据并行培训”,代码如下:

distributed_learner = distributed.data_parallel_distributed_learner(
    learner = learner,
    num_quantization_bits = 1,
    distributed_after = distributed_after)  # warm start: don't use 1-bit SGD for first epoch
如果我选择不使用1位SGD(跳过上述调用中的相关参数),我认为我仍然应该获得数据并行分布式学习器的并行化好处。你能证实这是事实吗


谢谢

您可以将
num\u quantization\u bits
设置为32,这将是直接同步并行学习

应该提醒您,根据您的网络,将
num\u quantization\u bits
设置为32可能会降低您的训练速度

如果您的CNTK构建支持NCCL,那么使用32位不会太慢。1位SGD本身具有计算成本(用于量化),您应该注意这一点