我需要从服务器获取 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,nounits8.507.4311.04
1 回答

慕码人2483693
TA贡献1860条经验 获得超9个赞
假设您的输出os.popen("nvidia-smi --query-gpu=power.draw --format=csv,noheader,nounits").read()is 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
添加回答
举报
0/150
提交
取消