Tensorflow 张量流

Tensorflow 张量流,tensorflow,lstm,Tensorflow,Lstm,我使用tfprof是为了得到模型前进路径所需的失败次数。 我的模型是三层LSTM和完全连接层。 我观察到,对于完全连接的层,计算数量呈线性增长,而对于LSTM层,计算数量并没有变化。这怎么可能呢 1时间戳转发路径的tfprof报告 ==================Model Analysis Report====================== _TFProfRoot (0/2.71m flops) rnn/while/multi_rnn_cell/cell_1/lstm_cell/

我使用tfprof是为了得到模型前进路径所需的失败次数。 我的模型是三层LSTM和完全连接层。 我观察到,对于完全连接的层,计算数量呈线性增长,而对于LSTM层,计算数量并没有变化。这怎么可能呢

1时间戳转发路径的tfprof报告

==================Model Analysis Report======================
_TFProfRoot (0/2.71m flops)
  rnn/while/multi_rnn_cell/cell_1/lstm_cell/lstm_cell_1/MatMul (1.05m/1.05m flops)
  rnn/while/multi_rnn_cell/cell_2/lstm_cell/lstm_cell_1/MatMul (1.05m/1.05m flops)
  rnn/while/multi_rnn_cell/cell_0/lstm_cell/lstm_cell_1/MatMul (606.21k/606.21k flops)
  fc_layer/MatMul (1.54k/1.54k flops)
  rnn/while/multi_rnn_cell/cell_0/lstm_cell/lstm_cell_1/BiasAdd (1.02k/1.02k flops)
  rnn/while/multi_rnn_cell/cell_1/lstm_cell/lstm_cell_1/BiasAdd (1.02k/1.02k flops)
  rnn/while/multi_rnn_cell/cell_2/lstm_cell/lstm_cell_1/BiasAdd (1.02k/1.02k flops)
  fc_layer/BiasAdd (3/3 flops)
==================Model Analysis Report======================
_TFProfRoot (0/2.71m flops)
  rnn/while/multi_rnn_cell/cell_1/lstm_cell/lstm_cell_1/MatMul (1.05m/1.05m flops)
  rnn/while/multi_rnn_cell/cell_2/lstm_cell/lstm_cell_1/MatMul (1.05m/1.05m flops)
  rnn/while/multi_rnn_cell/cell_0/lstm_cell/lstm_cell_1/MatMul (606.21k/606.21k flops)
  fc_layer/MatMul (3.07k/3.07k flops)
  rnn/while/multi_rnn_cell/cell_0/lstm_cell/lstm_cell_1/BiasAdd (1.02k/1.02k flops)
  rnn/while/multi_rnn_cell/cell_1/lstm_cell/lstm_cell_1/BiasAdd (1.02k/1.02k flops)
  rnn/while/multi_rnn_cell/cell_2/lstm_cell/lstm_cell_1/BiasAdd (1.02k/1.02k flops)
  fc_layer/BiasAdd (6/6 flops)
2个时间戳转发路径的tfprof报告

==================Model Analysis Report======================
_TFProfRoot (0/2.71m flops)
  rnn/while/multi_rnn_cell/cell_1/lstm_cell/lstm_cell_1/MatMul (1.05m/1.05m flops)
  rnn/while/multi_rnn_cell/cell_2/lstm_cell/lstm_cell_1/MatMul (1.05m/1.05m flops)
  rnn/while/multi_rnn_cell/cell_0/lstm_cell/lstm_cell_1/MatMul (606.21k/606.21k flops)
  fc_layer/MatMul (1.54k/1.54k flops)
  rnn/while/multi_rnn_cell/cell_0/lstm_cell/lstm_cell_1/BiasAdd (1.02k/1.02k flops)
  rnn/while/multi_rnn_cell/cell_1/lstm_cell/lstm_cell_1/BiasAdd (1.02k/1.02k flops)
  rnn/while/multi_rnn_cell/cell_2/lstm_cell/lstm_cell_1/BiasAdd (1.02k/1.02k flops)
  fc_layer/BiasAdd (3/3 flops)
==================Model Analysis Report======================
_TFProfRoot (0/2.71m flops)
  rnn/while/multi_rnn_cell/cell_1/lstm_cell/lstm_cell_1/MatMul (1.05m/1.05m flops)
  rnn/while/multi_rnn_cell/cell_2/lstm_cell/lstm_cell_1/MatMul (1.05m/1.05m flops)
  rnn/while/multi_rnn_cell/cell_0/lstm_cell/lstm_cell_1/MatMul (606.21k/606.21k flops)
  fc_layer/MatMul (3.07k/3.07k flops)
  rnn/while/multi_rnn_cell/cell_0/lstm_cell/lstm_cell_1/BiasAdd (1.02k/1.02k flops)
  rnn/while/multi_rnn_cell/cell_1/lstm_cell/lstm_cell_1/BiasAdd (1.02k/1.02k flops)
  rnn/while/multi_rnn_cell/cell_2/lstm_cell/lstm_cell_1/BiasAdd (1.02k/1.02k flops)
  fc_layer/BiasAdd (6/6 flops)

tfprof对图形进行静态分析,并计算每个图形节点的浮点运算

我假设您使用的是dynamic\u rnn或类似的具有tf.while\u循环的东西。在这种情况下,图形节点会在图形中出现一次 但实际上是在运行时运行多次

在这种情况下,tfprof无法静态地计算出有多少 将运行步骤(word中的时间戳)。因此,它只起作用 浮点数操作一次


目前的解决办法可能是自己乘以时间步长。

tfprof对图形进行静态分析,并计算每个图形节点的浮点运算

我假设您使用的是dynamic\u rnn或类似的具有tf.while\u循环的东西。在这种情况下,图形节点会在图形中出现一次 但实际上是在运行时运行多次

在这种情况下,tfprof无法静态地计算出有多少 将运行步骤(word中的时间戳)。因此,它只起作用 浮点数操作一次


目前的解决办法可能是你自己乘以时间步长。

谢谢你的明确解释。我用的是动态的,谢谢你的解释。我用的是动态的。