Gpu-Utils:Gpu分析和分配的简单工具

gpuutils的Python项目详细描述


GpuUtils

在具有多个gpu的共享环境中工作可能会有问题。高级框架采用贪婪的方法,它们倾向于分配系统的所有gpu和内存。GpuUtils帮助您找到系统上要分配的最佳GPU。它还以结构格式提供与gpu相关的信息。在

安装

安装gpuutil最简单的方法是通过PyPI安装它。在

pip install gpuutils

分析系统

在命令提示符中运行nvidia smi命令允许用户监视与GPU相关的信息,如内存和利用率。在此,系统分析功能将GPU相关信息加载到pandas数据帧或json数组中。在

^{pr2}$

系统分析的默认配置返回Pandas数据帧。在

gpu_indextotal_memories_in_mbavailable_memories_in_mbmemory_usage_percentageutilizationspower_usages_in_wattspower_capacities_in_watts
132480324690.0339043300
232480324690.0339043300
332480324690.0339044300
432480324690.0339043300
532480324690.0339043300
632480324690.0339043300
732480324690.0339043300
032480310314.4612756300

分配

gpuutil也可以分配gpu。调用分配函数直接查找可用的gpu并根据您的需求进行分配。在

fromgpuutilsimportGpuUtilsGpuUtils.allocate()#this tries to allocate a GPU having 1GB memory#GpuUtils.allocate(required_memory = 10000)#GpuUtils.allocate(required_memory = 10000, gpu_count=1)

避免贪婪的做法

像TensorFlow这样的高级框架倾向于分配所有内存。如果在allocate函数中传递framework参数,则可以避免这种方法。这样,框架将根据需要使用gpu内存。目前,allocate function支持keras和tensorflow框架。在

GpuUtils.allocate(framework='keras')

支持

有很多方法可以支持一个项目-主演⭐️GitHub回购只是其中之一。在

许可证

GpuUtils是在MIT许可下授权的-有关详细信息,请参阅^{}。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用SeleniumWebDriver(又称Selenium2.0)JAVA向下滚动鼠标   java获取与消费者组kafka关联的主题列表   java在现实生活中,您什么时候会使用堆栈而不是常规链表,或者使用常规队列而不是优先级队列?   java实际参数列表和形式参数列表的长度不同(但两种长度都是2?)   默认情况下,Lucene(java框架)是否根据术语计算文档的tfidf和余弦相似性?   java编辑XML样式表更改Android中的按钮   java在Eclipse4中从处理程序更新视图   java是节点列表、数组、列表还是其他什么?   java Hibernate查询问题   java Spark在并行化列表时引发ArrayIndexOutOfBoundsException   Java中有3D几何算法库吗?   java如何获取超过25条post消息   java如何在不同的活动中获取Int的值?getIntent()不再工作了   java在VerticalViewPage(Android)的每个页面中动态插入JSON数据