我在笔记本电脑上运行一个示例程序(来自这里的DDQN)。
我的笔记本电脑每隔一秒钟就能执行一步(联想P51运行Ubuntu18.04,32 of内存,ssd)。我在我的工作站上尝试了同样的程序(AMD 3900 x,64 on内存,运行Windows 10,GNU Python 3.8),每步花费2-3秒。两者都被设置为使用Tensorflow 2.3.1而不需要GPU (我在代码中增加了额外的一行以确保这一点)。我还在我的Mac (自制Python 3.8)上尝试了这一点,并得到了与我的工作站类似的结果。Mac是一款2014年Macbook Pro,所以我预计它会很慢,但我对桌面的结果感到惊讶。
我还试图在工作站上运行相同的Linux代码(Lubuntu20.04),并得到相同的结果(每个步骤大约2-3秒)。这让我觉得自己可能有硬件问题,但我在工作站上运行了一些基准测试,没有什么问题出现。
我真的在寻找解决这个问题的方法,因为它看起来可能是硬件,但也许在我的联想笔记本电脑上配置了“正确”的东西,而其他两个平台上还没有设置。
我在所有平台上的安装基本上都是确保python 3.8已经安装,然后是pip安装tensorflow、keras和健身房。据我所知,没有其他的调整或调整。
UPDATE:我发现膝上型计算机环境仍然指向安装了一个老版本的tensorflow (1.14)的较旧的python (3.6)。现在我的问题是,为什么2.3.1在这段代码上如此缓慢,而1.1.4却如此之快?我会搜索更多,但建议是赞赏的。
发布于 2020-11-30 02:09:06
这可能是由于大量的事情发生了变化--在我的头顶上,最有可能的是num_workers --这是工作人员的数量,并且应该随着线程数的增加而增加,默认为1--将这个值更改为8或16,看看性能是否会提高。
然而,这可能是由于BLAS - Tensorflow使用Intel MKL加速的不同实现,而后者在AMD (可能是英特尔的市场细分)上运行得更慢,很难说。
https://stackoverflow.com/questions/65066242
复制相似问题