问题类型
Bug
你是否在TensorFlow Nightly版本中重现了这个bug?
否
问题来源
二进制文件
TensorFlow版本
tf 2.16.1
自定义代码
无
OS平台和发行版
WSL Ubuntu 22.04
移动设备
- 无响应*
Python版本
3.11.8
Bazel版本
- 无响应*
GCC/编译器版本
- 无响应*
CUDA/cuDNN版本
- 无响应*
GPU型号和内存
- 无响应*
当前行为?
当调用tf.signal.rfftnd
时,Tensorflow抛出一个NotFoundError。在我看来,TF似乎想在GPU上运行这段代码,但由于我只在CPU上运行,所以没有可用的GPU。目前我无法在GPU上进行测试。
独立代码以重现问题
import tensorflow as tf
x = tf.random.normal([8, 8])
y = tf.signal.rfftnd(x)
相关日志输出
---------------------------------------------------------------------------
NotFoundError Traceback (most recent call last)
Cell In[4], line 3
1 import tensorflow as tf
2 x = tf.random.normal([8, 8])
----> 3 y = tf.signal.rfftnd(x)
File ~/.pyenv/versions/3.11.8/envs/emess/lib/python3.11/site-packages/tensorflow/python/ops/signal/fft_ops.py:325, in _rfftn_wrapper.<locals>._rfftn(input_tensor, fft_length, axes, norm, name)
323 elif norm == "ortho":
324 input_tensor /= np.sqrt(n) # should be sqrt(N)
--> 325 return rfft_n(
326 input_tensor,
327 fft_length,
328 axes,
329 Tcomplex=complex_dtype,
330 name=name,
331 )
File ~/.pyenv/versions/3.11.8/envs/emess/lib/python3.11/site-packages/tensorflow/python/ops/gen_spectral_ops.py:1744, in rfftnd(input, fft_length, axes, Tcomplex, name)
1742 return _result
1743 except _core._NotOkStatusException as e:
-> 1744 _ops.raise_from_not_ok_status(e, name)
1745 except _core._FallbackException:
1746 pass
File ~/.pyenv/versions/3.11.8/envs/emess/lib/python3.11/site-packages/tensorflow/python/framework/ops.py:5983, in raise_from_not_ok_status(e, name)
5981 def raise_from_not_ok_status(e, name) -> NoReturn:
5982 e.message += (" name: " + str(name if name is not None else ""))
-> 5983 raise core._status_to_exception(e) from None
NotFoundError: Could not find device for node: {{node RFFTND}} = RFFTND[Tcomplex=DT_COMPLEX64, Treal=DT_FLOAT]
All kernels registered for op RFFTND:
device='GPU'
[Op:RFFTND] name:
3条答案
按热度按时间kse8i1jr1#
这个问题已经过期,因为它已经开放了7天,没有活动。如果没有进一步的活动发生,它将被关闭。谢谢。
plicqrtu2#
感谢你的推荐。我在Google Colab上尝试了你的方法,出现了相同的错误:
NotFoundError: Could not find device for node: {{node RFFTND}} = RFFTND[Tcomplex=DT_COMPLEX64, Treal=DT_FLOAT] All kernels registered for op RFFTND: <no registered kernels> [Op:RFFTND] name:
请查看我的Colab上的代码:https://colab.research.google.com/drive/16Y52PrW3eRBtTHOzw32chYgJ5sMZFgwq?usp=sharing
我现在选择使用TensorFlow中现有的FFT实现来解决1、2和3维的问题作为临时解决方案。然而,它们没有
axes
参数,所以我不得不将所有数据从格式channels last
转换为格式channels first
,然后再使用FFT。g9icjywg3#
你可以显式地启用带有CPU支持的TensorFlow重新安装。以下是针对WSL Ubuntu 22.04的一般构建指令;请按照以下步骤操作,并告知我们?
a. 卸载当前的TensorFlow安装:pip uninstall tensorflow
b. 在安装过程中,使用一个标志或配置选项来指定CPU支持。例如,你可能可以使用
pip install tensorflow-cpu.
谢谢!