Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在只有CPU的tensorflow上运行DDQN,我的笔记本电脑比AMD 3900快50倍_Python_Performance_Tensorflow - Fatal编程技术网

Python 在只有CPU的tensorflow上运行DDQN,我的笔记本电脑比AMD 3900快50倍

Python 在只有CPU的tensorflow上运行DDQN,我的笔记本电脑比AMD 3900快50倍,python,performance,tensorflow,Python,Performance,Tensorflow,我正在我的笔记本电脑上运行一个示例程序(来自的DDQN) 我的笔记本电脑大约每0.04秒就可以执行一个步骤(联想P51运行Ubuntu 18.04,32gb内存,ssd)。我在我的工作站上尝试了同样的程序(AMD 3900x,64GB内存,运行Windows 10,GNU Python 3.8),每一步需要2-3秒。这两个版本都设置为使用Tensorflow 2.3.1,没有GPU(我在代码中添加了额外的行以确保这一点)。我也在我的Mac电脑(自制Python 3.8)上尝试了这一点,并在我的工

我正在我的笔记本电脑上运行一个示例程序(来自的DDQN)

我的笔记本电脑大约每0.04秒就可以执行一个步骤(联想P51运行Ubuntu 18.04,32gb内存,ssd)。我在我的工作站上尝试了同样的程序(AMD 3900x,64GB内存,运行Windows 10,GNU Python 3.8),每一步需要2-3秒。这两个版本都设置为使用Tensorflow 2.3.1,没有GPU(我在代码中添加了额外的行以确保这一点)。我也在我的Mac电脑(自制Python 3.8)上尝试了这一点,并在我的工作站上得到了类似的结果。Mac是2014年的Macbook Pro,所以我预计它的速度会很慢,但我对台式机的结果感到惊讶

我还尝试在工作站上的Linux(Lubuntu 20.04)上运行相同的代码,得到了相同的结果(每个步骤大约2-3秒)。这让我觉得我可能有硬件问题,但我在工作站上运行了许多基准测试,没有发现任何问题

我真的很想知道如何解决这个问题,因为看起来可能是硬件问题,但也许我的联想笔记本电脑上的某些配置“正确”,而其他两个平台上没有设置

我在所有平台上的安装基本上都是为了确保安装了python 3.8,然后安装了pip tensorflow、keras和gym。据我所知,没有其他的调整


更新:我发现笔记本电脑环境仍然指向安装了旧tensorflow(1.14)的旧python(3.6)。所以现在我的问题是,为什么2.3.1在这段代码上如此之慢,而1.1.4却如此之快?我会在谷歌上搜索更多,但建议是值得赞赏的。

这可能是由于很多事情发生了变化-在我的脑海中,最有可能是
num_workers
-这是工作人员的数量,并且应该随着线程数量的增加而增加,默认值为1-将其更改为8或16,然后查看性能是否有所提高


然而,这可能是由于BLAS的不同实现——Tensorflow使用的Intel MKL加速在AMD上运行得慢得多(很可能是Intel的市场细分),这很难说。

这可能是由于大量事情的改变——我不知道,最有可能是
num_workers
-这是worker的数量,应该随着线程数量的增加而增加,默认值为1-将其更改为8或16,然后查看性能是否会提高


然而,这可能是由于BLAS的不同实现——Tensorflow使用Intel MKL加速,在AMD上运行得慢得多(很可能是Intel的市场细分),这很难说。

在3900上,我使用的是gnu python和pip安装的Tensorflow(和numpy),默认情况下应该使用OpenBLAS(因此没有涉及到MKL问题)。我不知道如何判断。在3900上,我使用的是gnu python和pip安装的tensorflow(和numpy),默认情况下,它应该使用OpenBLAS(因此没有涉及到MKL问题)。我不确定如何判断。