首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TensorFlow/Keras模型__call__在图形处理器上运行时变得越来越慢

TensorFlow/Keras模型__call__在图形处理器上运行时变得越来越慢
EN

Stack Overflow用户
提问于 2020-12-31 00:07:46
回答 1查看 66关注 0票数 0

我正在尝试为游戏Gomoku实现一个类似AlphaZero的棋盘游戏AI (结合了评估棋盘位置的CNN的蒙特卡洛树搜索)。

现在,MCTS是作为一个单独的组件实现的。另外,我有一个用Python语言编写的简单的TCP服务器,它接收来自MCTS的位置(以大约50到200个为一批),将它们转换成Numpy数组,通过调用__call__将它们传递给TF/Keras模型,再将它们转换回来,然后通过TCP将结果发送给MCTS。

在训练期间,我通过让AI与自己对战、调用model.fit一次、使用新的模型权重创建新的数据集等方式来生成训练数据(大约5000块棋盘)。我并行播放多场比赛,每一场比赛都使用各自独立的Python/TF服务器。每个服务器加载自己的模型副本(我使用tf.config.experimental.set_memory_growth(gpu, True))。

我遇到的问题是,在玩比赛的时候,推理时间越来越长,网络加载的时间越长,直到它变得非常慢,我必须重新开始训练。重新启动后,推理时间恢复正常。顺便说一句,如果我一次只玩一个游戏,并且只加载了一个模型,也会发生这种情况。

我试图通过在每次比赛后重新启动Python服务器(以及模型)来缓解这个问题。这似乎解决了这个问题,直到我在几次训练迭代后开始遇到同样的问题。

起初我认为原因是我的设置不理想(运行Windows的游戏笔记本),但在我的大学的Linux服务器上也出现了这个问题。在我的Windows机器上,随着模型变得越来越慢,它使用的内存也越来越少。这显然不会在Linux上发生。

EN

回答 1

Stack Overflow用户

发布于 2020-12-31 01:41:30

我遇到了类似的问题,原因是为我的卡安装了错误的NVIDIA驱动程序,并且没有安装CUDA。希望这能对你有所帮助。

https://developer.nvidia.com/cuda-downloads

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65509955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档