问题标签 [flops]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
20152 浏览

performance - 什么是深度学习领域的 FLOPS?

什么是深度学习领域的 FLOPS?为什么我们不使用 FLO 这个术语?

我们使用术语 FLOPS 来衡量冻结深度学习网络的操作数量。

根据 Wikipedia,FLOPS = 每秒浮点运算。当我们测试计算单元时,我们应该考虑时间。但是在测量深度学习网络的情况下,我如何理解这个时间概念呢?我们不应该只使用 FLO(浮点运算)这个术语吗?

为什么人们使用 FLOPS 这个词?如果有什么我不知道,那是什么?

====附件===

我提到的冷冻深度学习网络只是一种软件。这与硬件无关。在深度学习领域,人们使用术语 FLOPS 来衡量运行网络模型需要多少操作。在这种情况下,我认为我们应该使用 FLO 一词。我认为人们对 FLOPS 一词感到困惑,我想知道其他人是否有同样的想法,或者我是否错了。

请看这些案例:

如何在 CNN 中计算网络的 FLOPs

https://iq.opengenus.org/floating-point-operations-per-second-flops-of-machine-learning-models/

0 投票
1 回答
58 浏览

performance - 基于 CPU 时间的近似处理能力

在一个特定的场景中,我发现一个代码花费了 20 个CPU 年和 4 个实际月的时间。考虑到所有处理器一直处于 100% 的使用率这一事实,我的目标是估算所使用的处理能力。所以,我的方法如下,

20 个 CPU 年 = 20 * 365 * 24 个 CPU 小时 = 175,200 个 CPU 小时。

现在,1 CPU Year 意味着 1 GFLOP 机器工作 1 个真实小时。这意味着,在这种情况下,完成的工作是 1 GFLOP 机器工作 175,200 实际小时。但实际上它需要 4 * 30 * 24 = 2,880 个实际小时。因此,大约 175,200/2,880 =(大约)61 台 GLFOP 机器。

我的问题是我是在正确地进行近似计算还是根据上面给出的计算误解了某些特定术语?还是我将 GFLOPS 和 GFLOP 混合在一起?

定义

0 投票
0 回答
109 浏览

python - 为什么 tf.profiles 会为 flops 返回 none 值?

我是深度学习领域的新人,我有一个冻结的图形模型,经过训练可以检测眼睛区域地标。我想得到这个模型的翻牌数。我使用了从 Stackoverflow 上发布的解决方案中获得的代码。问题是当我测试代码时,返回的结果显示失败次数的无值。

日志:

==================模型分析报告======================

Doc:范围:模型图中的节点按名称组织,类似于文件系统的层次结构。flops:浮点运算的次数。注意:请阅读其背后的数学实现。

配置文件:节点名称 | # float_ops _TFProfRoot (--/0 失败)

======================报告结束========================= =

冻结后 FLOP 0

我想知道为什么我的失败次数没有值的原因是什么?

0 投票
1 回答
1131 浏览

python - 张量流卷积层中的 FLOPs

我想知道 Tensorflow 卷积层中浮点运算的数量。

当我等待在 TF 2.x 上发布此功能时,我在 TF 1.x 上进行了尝试,结果我不明白是如何计算的,其中一个非常令人印象深刻(检查问题 3)。

我有以下代码:

在这里完成要点:

https://colab.research.google.com/gist/eduardo4jesus/6721ec992c402bcdc834ab2edbc1b2b4/tf1-flops.ipynb

以下结果的解释是什么?

  1. 如果我运行上面的代码,只有未InputLayer注释的情况下,FLOPS 输出为2.

Q1:为什么2

  1. 如果我按如下方式运行代码,则输出为2050.

Q2:为什么2050??我期待着1026加上1024那些无法解释的2。这 1024 个将来自密集层的权重,因为我们有一个神经元是每个输入特征的一个参数,因此,1024. 再说一遍,为什么要加倍?(反向传播??)

  1. 最有趣和最重要的一个。如果我按如下方式运行代码,则输出为2101.

Q3:为什么2101??我期待2050 + 1024 x 5这比 only 更大2101。卷积层本身应该产生N*N*K*KwhereN=32K=5。考虑到卷积产生相同形状的输入,为什么模型比仅最后一层需要更少的 FLOP?它有什么样的疯狂优化?

[更新]

打印配置文件时,我有这些节点有助于total_float_ops. 它们中的大多数(见下文)与 相关Initializer,而不是模型计算本身。

0 投票
0 回答
956 浏览

python - FLOP count for a keras model in python

How to get the number of floating-point operations performed by a Keras model in python?

Model.summary() only provides the number of trainable and non-trainable parameters. Can anyone plz tell me how to get the flop count for a keras model?

My model definition is:

model.add(Dense(32, input_dim=train.shape[1], activation='relu'))

model.add(Dense(len(label_list), activation='softmax'))

for me,

train_shape[1] = 128 label_list = 60

0 投票
1 回答
65 浏览

c - 用 C 问题将向量和矩阵相乘

我的代码是:

所以我改了N 5000~10000。打印是:

当 N = 8000 出现问题时,次数和 MFLOPS 比 7000,9000 更奇怪。

可以肯定的是 7000<8000<9000 次,但不是。

还有MFLOPS。我的打印 MFLOPS 为 8000<7000<9000。我认为这不正常

这是怎么回事?

0 投票
1 回答
38 浏览

performance - 一个计算如何从经过的时间计算 FLOPS?

这篇关于英特尔 MKL DFT 使用的教程可以看出,Andrey E. Vladimirov 博士使用任务期间经过的时间,即t1-t0使用GF/s = HztoPerf/(t1-t0)where计算 GigaFLOPS 的数量HztoPerf = 5.0 * 1e-9 * double(fft_size) * log2(double(fft_size)) * double(num_fft)

这是一个通用公式吗?如果不是,如果我知道运行计算所用的时间(例如涉及各种 FFT),我如何推断我的 CPU(Intel Xeon E5-1660,3 GHz,8 核)的平均 GF/s?

0 投票
1 回答
456 浏览

tensorflow - Tensorflow Profile 为 Conv2D 输出 2 FLOPS 而不是 1

我想知道是否有人知道为什么一个Conv2d操作的 FLOP 数是 2 而不是 1。在下面的示例中,输入是1x1具有 1 个通道的图像,批量大小为 1。卷积中的特征数是也是 1 没有偏见。理想情况下,乘法的数量应该是 1。但是 TF 分析器的输出显示 FLOP 是 2。FLOP 是否包含除乘法之外的其他内容?谢谢。

这是示例:

输出是:

0 投票
2 回答
1887 浏览

python - Tensorflow 2.1.0 - AttributeError:模块“tensorflow”没有属性“RunMetadata”

我正在尝试使用我在网上获得的以下代码找出我的模型使用的 FLOPS 数量:

但是,运行此代码会给我这个错误:

我怎样才能绕过这个错误?我已经在线阅读,我得到的唯一帮助是更新我的 tensorflow 版本。但是,这是最新的版本。

0 投票
0 回答
61 浏览

tensorflow - FLOP 是由 tf.profiler.profile 每秒还是每步计算的?

我想知道这个函数计算的总失败次数:

是每秒还是每步?