我在集群上使用Keras和Tensorflow后端(创建神经网络)。我如何在群集上(在多个内核上)以多线程方式运行它,还是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的计算放置算法在小型计算图上运行良好,但通过将计算手动放置在特定设备中,您可能能够在大型计算图上获得更好的性能。(例如,使用with tf.device(...):
块。)
问题内容: 问题:由于python使用“ GIL”,python是否能够同时运行其单独的线程? 信息: 看完这篇文章后,我对python是否能够利用多核处理器的不确定性产生了怀疑。尽管python做得很好,但认为它缺乏如此强大的功能实在是很奇怪。因此,我感到不确定,因此决定在这里提问。如果我编写的是多线程程序,它是否可以在多个内核上同时执行? 问题答案: 答案是“是,但是…” 但是当您使用常规线程
然而,我很好奇如何确保这4个实例完全运行在4个不同的核心上?一个实例在启动时如何决定运行在其上的核心?
问题内容: 我可以使用一台可以访问10个内核的机器-我想实际使用它们。我习惯在自己的机器上做的事情是这样的: 我要执行10个文件-我们将其称为blah00.fa,blah01.fa,… blah09.fa。 这种方法的问题在于,myProgram一次仅使用1个内核,并且在多核计算机上这样做,我将一次使用10个内核,因此我不会使用mahcine来其最大能力。 如何更改脚本,以使其同时运行所有10个.
问题内容: 我在计算机上安装了两个版本的Python(版本2.6和2.5)。我想为一个项目运行2.6,为另一个项目运行2.5。 如何指定要使用的商品? 我正在使用Windows XP SP2。 问题答案: 运行不同的Python副本就像启动正确的可执行文件一样容易。您提到您只是通过键入从命令行启动python实例。 这在Windows下的作用是拖移环境变量,检查可执行文件,批处理文件(),命令文件
我试图在一台机器上连接多个独立的Neo4j实例。 因为我无法找到正确的文档来正确安装Neo4j。 由于我是Neo4j graph db的新手,如果有人能在这方面帮助我,那将非常有帮助。 我使用的是Neo4j版本3.2。2. 下面是我试图在路径下启动新neo4j实例的命令: 我无法启动两个neo4j实例,因为我有两个具有不同端口的文件。 请分享你的想法。
问题内容: 我正在用Java编写多线程应用程序,以提高顺序版本的性能。它是针对0/1背包问题的动态编程解决方案的并行版本。我有一个Intel Core 2 Duo,在不同的分区上都具有Ubuntu和Windows 7 Professional。我在Ubuntu中运行。 我的问题是并行版本实际上比顺序版本花费的时间更长。我认为这可能是因为所有线程都被映射到同一个内核线程,或者它们被分配给了同一个内核