从命令输出计算数字的平均值
Calculate the Average of Numbers from command output
需要有关 nvidia-smi 命令的帮助。当我运行以下命令时:
nvidia-smi --format=csv --query-gpu=utilization.gpu
它returns:
utilization.gpu [%]
89 %
45 %
22 %
68 %
我想要一个使用这些返回值并计算平均值的脚本。
所以它应该这样做 89 + 45 + 22 + 68 = 224 / 4 = 56
有办法吗?
nvidia-smi --format=csv --query-gpu=utilization.gpu | awk '/[[:digit:]]+[[:space:]]%/ { tot+=;cnt++ } END { print tot/cnt }'
将 nvidia-smi 的输出通过管道传输到 awk。具有一位或多位数字、space 和“%”的流程行。创建一个 运行 总数 (tot) 并计算出现的次数 (cnt) 最后,将 tot 除以 cnt 并打印结果。
nvidia-smi --format=csv --query-gpu=utilization.gpu | tail -n +2 | awk '{ sum+= }END { print sum/NR }'
使用 tail 获取除第一行以外的所有行,然后计算第 1 列的平均值。
需要有关 nvidia-smi 命令的帮助。当我运行以下命令时:
nvidia-smi --format=csv --query-gpu=utilization.gpu
它returns:
utilization.gpu [%]
89 %
45 %
22 %
68 %
我想要一个使用这些返回值并计算平均值的脚本。 所以它应该这样做 89 + 45 + 22 + 68 = 224 / 4 = 56
有办法吗?
nvidia-smi --format=csv --query-gpu=utilization.gpu | awk '/[[:digit:]]+[[:space:]]%/ { tot+=;cnt++ } END { print tot/cnt }'
将 nvidia-smi 的输出通过管道传输到 awk。具有一位或多位数字、space 和“%”的流程行。创建一个 运行 总数 (tot) 并计算出现的次数 (cnt) 最后,将 tot 除以 cnt 并打印结果。
nvidia-smi --format=csv --query-gpu=utilization.gpu | tail -n +2 | awk '{ sum+= }END { print sum/NR }'
使用 tail 获取除第一行以外的所有行,然后计算第 1 列的平均值。