Tensorflow中大跨度切片的复杂性是什么?

时间:2019-05-20 15:22:29

标签: python tensorflow time-complexity space-complexity

我想知道Tensorflow中stride slice函数的复杂性是什么?显然,它不像卷积2D那样计算量大,但是当然也不免费。我什至不确定该操作的复杂性是否有意义,因为没有执行加法或乘法运算。 具体来说,假设我有一个10x3x3x10张量foo,并且我想执行bar=foo[3:5,:,:,4:5]。您将如何评估操作的复杂性(在时间和空间上)?

1 个答案:

答案 0 :(得分:1)

您可以使用TF_Strided_Slice操作和Conv2D操作,然后在 Profiling <中使用 Keras Callback 评估这些操作的复杂性/ strong>。

下面提到了相应的代码:

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])