Tensorflow 中 strided slice 的复杂度是多少?

What is the complexity of strided slice in Tensorflow?

我想知道 Tensorflow 中 strided slice 函数的复杂度是多少。显然,它不像 Convolution 2D 那样计算密集,但它肯定也不是免费的。我什至不确定谈论此操作的复杂性是否有意义,因为没有执行加法或乘法。 具体来说,假设我有一个 10x3x3x10 张量 foo,我想执行 bar=foo[3:5,:,:,4:5]。您如何评估操作的复杂性(space 和时间)?

您可以使用 TF_Strided_Slice Operation and Conv2D 操作,然后使用 ProfilingKeras Callback[ 中评估这些操作的复杂性=20=].

对应代码如下:

log_dir="logs/profile/" + datetime.now().strftime("%Y%m%d-%H%M%S")

tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1, profile_batch = 3)

model.fit(train_data,
          steps_per_epoch=20,
          epochs=5, 
          callbacks=[tensorboard_callback])