小编Hao*_*Hao的帖子

张量流中fft的结果与numpy不同

我想在tensorflow中使用fft。但是我发现分别在numpy和tensorflow中使用FFT函数时结果不同。特别是当输入数组的大小很大时

import tensorflow as tf
import numpy as np

aa = tf.lin_space(1.0, 10000.0, 10000)
bb = tf.lin_space(1.0, 10000.0, 10000)
dd = tf.concat([[aa],[bb]],axis = 0)
c_input = tf.complex(dd[0,:], dd[1,:])
Spec = tf.fft(c_input)
sess = tf.Session()
uuu = sess.run(Spec)
print(uuu)

aaa = np.linspace(1.0, 10000.0, 10000)
bbb = aaa + 1j*aaa
ccc = np.fft.fft(bbb)
print(ccc)
Run Code Online (Sandbox Code Playgroud)

结果是

[ 11645833.000000+11645826.j         -544529.875000 -6242453.5j
   -913097.437500  -781089.0625j   ...,     78607.218750  -108219.109375j
    103245.156250  -182935.3125j      214871.765625  -790986.0625j  ]
[ 50005000.00000000+50005000.j         -15920493.78559075+15910493.78559076j
  -7962746.10739718 +7952746.10739719j ...,
   5300163.19893340 -5310163.19893345j
   7952746.10739715 -7962746.10739723j
  15910493.78559067-15920493.78559085j]
Run Code Online (Sandbox Code Playgroud)

所以,当我在tensorflow中使用fft函数时,我该怎么办才能获得相同的结果?谢谢你的答案

我发现tf.fft输出的数据类型为complex64。但是np.fft.fft的输出是complex128。这是这个问题的关键吗?我怎么解决这个问题?

python numpy fft tensorflow

3
推荐指数
1
解决办法
1258
查看次数

标签 统计

fft ×1

numpy ×1

python ×1

tensorflow ×1