tensorflow - 张量流分析器中两个百分比数字的解释?
解决方案
第一个数字是在函数中使用的总内存/花费的时间的百分比,而第二个是在内部函数中未分配/花费的内存使用/在函数中花费的时间的百分比。通常这些被称为包含(包括函数中的函数)和排他(不包括函数中的函数)分析。
我将在时间上解释这一点,但它对内存分析的工作原理相同。
这是因为分析器只是测量每个函数调用需要多长时间。例如,如果您有:
def func1():
# something
func2()
# something
def func2():
# something
并且让我们假设func1()
调用的分析器测量 1000 毫秒的花费func1
和750ms
花费,func2
那么数字将是:
func1 100% 25%
func2 75%
因为 100% 的时间都花在了func1
- 但只有 25% ((1000ms-750ms)/1000ms) 的时间花在func1
了没有花在func2
. 同样 75% (750ms/1000ms) 总共花费在func2
. 在这个例子中,第二个数字func2
也是 75%,因为我没有在其中包含任何代码,但是如果里面有其他函数,那么将应用相同的数学。所以为了不混淆我没有把它包括在那里。
为了使它更有趣并包含另一个示例,假设您有:
def func1():
# something
func2()
# something
func3()
# something
def func2():
# something
def func3():
# something
分析器测量 1000 ms in func1
、 200ms infunc2
和 500 ms 在func3
表中看起来像这样:
func1 100% (1000 / 1000) 30% ((1000 - 200 - 500) / 1000)
func2 20% ( 200 / 1000)
func3 50% ( 500 / 1000)
推荐阅读
- javascript - Gmail 不加载 nodemailer 以 html 发送的图片
- javascript - JS:在算法中跳过布尔值
- c++ - 如何在 C++ 中使用 #ifdef 在生产代码中编写仅测试代码?
- r - 将分钟添加到给定时间 Rstudio
- android - 使 AlarmManager 触发服务更新数据库
- jquery - jQuery:将类添加到所有没有“引用”元素且没有该类的块引用元素
- javascript - 要求未定义(在节点而非浏览器中)
- python - 将字典列表的字典转换为 pandas DataFrame
- c - 无需 .glade 源即可构建程序
- python-3.x - 在带有多线程python的Windows中使用多处理