我在tensorflow的GPU上运行一个典型的5层卷积网络。当我运行在一个快速的1080 TI GPU,我得到大约35%的GPU利用率。在一个较慢的M40上,我得到了80%的利用率,在970百万移动GPU上得到了97%的利用率。我已经实现了tf.StagingArea GPU队列,并使用警告消息确认,在每个训练步骤之前,StagingArea不是空的,它是异步的。
我已经运行了tensorflow分析器如下所示。值得注意的是,GPU
使用Tensorflow的新Dataset API进行多GPU培训(来自TFRecords格式)似乎要比在单个GPU上运行(1对4 Tesla K80s)慢得多(1/4慢)。从nvidia-smi的输出来看,使用4个GPU只会使GPU的利用率达到15%左右,而单个GPU的利用率大约为45%。
从磁盘(tfrecords-格式)加载数据是否会导致培训速度的瓶颈?