使用过程中TensorFlow报错,源码如下:
if len(devices) > 1:
with tf.name_scope('SumAcrossGPUs'), tf.device(None):
for var_idx, grad_shape in enumerate(self._grad_shapes):
g = [dev_grads[dev][var_idx][0] for dev in devices]
if np.prod(grad_shape): # nccl does not support zero-sizedtensors
g = tf.contrib.nccl.all_sum(g)##出错行
for dev, gg in zip(devices, g):
dev_grads[dev][var_idx] = (gg, dev_grads[dev][var_idx][1])
错误提示如下:
File "E:\Work_place\progressive_growing_of_gans-master\tfutil.py", line 331, in apply_updates
g = tf.contrib.nccl.all_sum(g)
File "G:\anaconda\envs\PgGAN\lib\site-packages\tensorflow\python\util\lazy_loader.py", line 63, in __getattr__
return getattr(module, item)
AttributeError: module 'tensorflow.contrib' has no attribute 'nccl'
查了百度,上面貌似并没有说tf.contrib.nccl这个包有什么更改或者别的替代,然后tensorflow 1.14.0 的官方API里面也找不到这个包。就不知道这个代码是被弃用了还是需要安装前置包。问一下各位大佬能不能给个解决方案?