自相关与 Tensorflow
Autocorrelation with Tensorflow
我想用 tensorflow 计算一些值的自相关。
我可以使用 scipy / numpy 进行计算,但我还没有弄清楚,如果可以使用 tensorflow。
我想要的是:
import tensorflow as tf
from scipy import signal
import numpy as np
import tensorflow_probability as tfp
import matplotlib.pyplot as plt
test_data = tf.random.normal((100,))
plt.plot(signal.correlate(test_data, test_data, mode='full', method='auto'))
plt.plot(np.correlate(test_data, test_data, mode='full'))
正如预期的那样,scipy 和 numpy 的输出是相同的。
我尝试使用 Tensorflow
plt.plot(tfp.stats.auto_correlation(test_data))
我最初假设的,会做同样的事情,但给出完全不同的结果。
是否有与 numpy / scipy?
相同的张量流函数
试试这个
td = tf.pad(test_data, [[0, len(test_data)]])[..., tf.newaxis]
plt.plot(tf.nn.conv1d(td[tf.newaxis, :], td[:, tf.newaxis], stride=1, padding='SAME')[0, :, 0])
我想用 tensorflow 计算一些值的自相关。 我可以使用 scipy / numpy 进行计算,但我还没有弄清楚,如果可以使用 tensorflow。
我想要的是:
import tensorflow as tf
from scipy import signal
import numpy as np
import tensorflow_probability as tfp
import matplotlib.pyplot as plt
test_data = tf.random.normal((100,))
plt.plot(signal.correlate(test_data, test_data, mode='full', method='auto'))
plt.plot(np.correlate(test_data, test_data, mode='full'))
正如预期的那样,scipy 和 numpy 的输出是相同的。 我尝试使用 Tensorflow
plt.plot(tfp.stats.auto_correlation(test_data))
我最初假设的,会做同样的事情,但给出完全不同的结果。 是否有与 numpy / scipy?
相同的张量流函数试试这个
td = tf.pad(test_data, [[0, len(test_data)]])[..., tf.newaxis]
plt.plot(tf.nn.conv1d(td[tf.newaxis, :], td[:, tf.newaxis], stride=1, padding='SAME')[0, :, 0])