我需要从服务器获取GPU-Power。 这应该通过nvidia-smi完成。
def getGpuPower(self):
splitedGpuPower = os.popen("nvidia-smi --query-gpu=power.draw --format=csv,noheader,nounits").read().replace("\n", ",").split(",")
for x in range(4):
self.gpuPower += float(splitedGpuPower[x])
return self.gpuPower
我需要一个浮点数,例如250,00
我实际上得到了
( File "test1.py", line 22, in getGpuPower
self.gpuPower += float(splitedGpuPower[x])
ValueError: could not convert string to float:)
输出看起来像这样
$ nvidia-smi --query-gpu=power.draw --format=csv,noheader,nounits
8.50
7.43
11.04
答案 0 :(得分:2)
假设您的os.popen("nvidia-smi --query-gpu=power.draw --format=csv,noheader,nounits").read()
的输出为8.50\n7.43\n11.04
,则应该可以执行以下操作。
def getGpuPower():
#Split on newline
splitedGpuPower = "8.50\n7.43\n11.04".split("\n")
gpuPower = 0
#Iterate through the list
for power in splitedGpuPower:
#If string is non empty, convert to float and add
if power.strip() != '':
gpuPower += float(power)
print(gpuPower)
输出将为
getGpuPower()
#26.97