加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何在多个核心上运行Keras?

发布时间:2020-12-16 23:27:40 所属栏目:Python 来源:网络整理
导读:我正在群集中使用带有Tensorflow后端的Keras(创建神经网络).如何在群集上(在多个核心上)以多线程方式运行它,还是由Keras自动完成?例如,在 Java中,可以创建多个线程,每个线程在核心上运行. 如果可能,应该使用多少个核心? 解决方法 Tensorflow会在单个计算机
我正在群集中使用带有Tensorflow后端的Keras(创建神经网络).如何在群集上(在多个核心上)以多线程方式运行它,还是由Keras自动完成?例如,在 Java中,可以创建多个线程,每个线程在核心上运行.

如果可能,应该使用多少个核心?

解决方法

Tensorflow会在单个计算机上可用的核心上自动运行计算.

如果您有分布式群集,请确保按照https://www.tensorflow.org/how_tos/distributed/中的说明配置群集. (例如,正确创建tf.ClusterSpec等)

为了帮助调试,您可以使用会话上的log_device_placement配置选项将Tensorflow打印出实际放置计算的位置. (注意:这适用于GPU和分布式Tensorflow.)

# Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

请注意,虽然Tensorflow的计算放置算法适用于小型计算图形,但您可以通过手动将计算放置在特定设备中,从而在大型计算图形上获得更好的性能. (例如使用tf.device(…):blocks.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读