DeepMind私货公开,推出分布式机器学习库,TensorFlow、Keras可用

2023-06-05 0 802

DeepMind私货公开,推出分布式机器学习库,TensorFlow、Keras可用

DeepMind前段时间为TensorFlow 2.0祭献了她们偷窃的辅助工具:

TF-Replicator,原本是外部另有的两个应用软件库,能让从没做过网络通讯的科学研究相关人员方便快捷地在多GPU/云TPU上布署她们的TensorFlow数学模型,也适用于于Keras。

现阶段,TF-Replicator的程式设计数学模型早已做为TensorFlow中tf.distribute.Strategy的一小部份开放源码。

twitter上的一名技师赞叹:这实在是TensorFlow 2.0里暗藏的宝物啊!

DeepMind私货公开,推出分布式机器学习库,TensorFlow、Keras可用

是不是用

采用TF-Replicator撰写的标识符与TensorFlow中为一般而言电子设备撰写的标识符类似于,容许采用者民主自由表述她们的数学模型运转循环式。

采用者只须要表述三个部份:

1.申明统计数据集的输出表达式;

2.数学模型逻辑的步骤表达式。

1# Deploying a model with TpuReplicator.

2repl = tf_replicator.TpuReplicator(

3    num_workers=1, num_tpu_cores_per_worker=8

4)

5with repl.context():

6  model = resnet_model()

7  base_optimizer = tf.train.AdamOptimizer()

8  optimizer = repl.wrap_optimizer(base_optimizer)

9

10# … code to define replica input_fn and step_fn.

11

12per_replica_loss = repl.run(step_fn, input_fn)

13train_op = tf.reduce_mean(per_replica_loss)

14

15with tf.train.MonitoredSession() as session:

16  repl.init(session)

17  for i in xrange(num_train_steps):

18    session.run(train_op)

19  repl.shutdown(session)

拿来GAN一下试试

现在,我们用GAN来测试一下TF-Replicator的效果。这里用到的是在ImageNet上训练的谱归一化GAN(SN-GAN, arXiv:1802.05957)。

相比在单一的一块GPU上训练,用TF-Replicator在多块GPU上分布式系统训练的效果要好得多。

比如,生成橙子的图片,这是batch size 8和batch size 16的时候:

DeepMind私货公开,推出分布式机器学习库,TensorFlow、Keras可用

基本看不出来是橙子了。

batch size 32和batch size 64要好一些,能看出来是橙子,但是两个像长了毛,两个像被拍了一巴掌:

DeepMind私货公开,推出分布式机器学习库,TensorFlow、Keras可用

batch size 128有了橙子果肉,batch size 256形状相对正常了:

DeepMind私货公开,推出分布式机器学习库,TensorFlow、Keras可用

示例中最高的batch size 512,橙子的形状早已和真实的橙子差不多了,果肉和果肉瓣之间的白色也可以看出来,除了皮有点厚之外这橙子质量没问题。

DeepMind私货公开,推出分布式机器学习库,TensorFlow、Keras可用

从分数来看,只要将batch size从64提高到512就可以将出实得分提高大约50%。

DeepMind私货公开,推出分布式机器学习库,TensorFlow、Keras可用

DeepMind私货公开,推出分布式机器学习库,TensorFlow、Keras可用

DeepMind私货公开,推出分布式机器学习库,TensorFlow、Keras可用

效果不错,希望DeepMind继续申明一些另有好货。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务