Anaconda安装的Tensorflow缺少来自contrib框架的'audio_ops'

Phi*_*lau 6 tensorflow

我正在尝试按照音频识别网络教程.

我用python 3.6创建了一个Anaconda环境,然后按照安装说明安装GPU.

我可以运行"hello world"TF示例.

当我在音频识别网络教程/示例中运行'train.py'时,我得到:

Traceback (most recent call last):
  File "train.py", line 79, in <module>
    import input_data
  File "/home/philglau/speech_commands/input_data.py", line 35, in <module>
    from tensorflow.contrib.framework.python.ops import audio_ops as contrib_audio
ImportError: cannot import name 'audio_ops'
Run Code Online (Sandbox Code Playgroud)

失败的教程中的代码是:

from tensorflow.contrib.framework.python.ops import audio_ops as contrib_audio
Run Code Online (Sandbox Code Playgroud)

然后我备份了那个链,直到我可以导入它的一部分:

import tensorflow.contrib.framework as test ==> works
import tensorflow.contrib.framework.python as test --> fail: 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'tensorflow.contrib.framework' has no attribute 'python'
Run Code Online (Sandbox Code Playgroud)

不确定我的安装在哪里出错了.

细节:

Ubuntu 16.04
Anaconda env with python 3.6
Followed the 'anaconda' instruction on the TF install page. (GPU version)
Run Code Online (Sandbox Code Playgroud)

我也尝试使用python 2.7 env for anaconda但得到了相同的结果.

Cam*_*ron 6

看起来他们正在发布版本1.4中的audio_ops模块(https://github.com/tensorflow/tensorflow/issues/11339#issuecomment-327879009).

在v1.4发布之前,一个简单的方法是安装nightly tensorflow构建

pip install tf-nightly
Run Code Online (Sandbox Code Playgroud)

或者在问题评论中链接的docker镜像.


小智 2

简短的回答:框架缺少“audio_ops.py”,并且在文件发布之前该示例将无法工作。或者您对包装器进行编码。

更多信息:如果您转到:tensorflow.contrib.framework.python.ops 本地文件夹,您可以找到其他 *_ops.py 文件,但找不到“audio_ops.py”。

如果您从大师处获得它:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/framework/python/ops

您会发现该文件几乎是空的,并且导入标签错误:“audio_ops”与“gen_audio_ops”。几乎为空我的意思是:decode_wav,encode_wav,audio_spectrogram,mfcc未实现/包装。

所以,没有可行的例子,也没有乐趣。我们需要再次检查“audio_ops.py”何时发​​布。

在这里: https: //github.com/tensorflow/tensorflow/issues/11339 您可以找到一位开发人员说:“我们实际上还不想公开/支持它们。很抱歉,这个决定没有得到更好的记录”