运行TensorFlow简单的音频识别出现的问题和解决
-
源代码树是什么
源代码树就是这个语言基本的操作集的根目录。
比如TensorFlow的就是D:\Anaconda3\envs\tensorflow\Lib\site-packages\tensorflow
下面是这样的:
接下来我们看到代码有TensorFlow,所以是进入D:\Anaconda3\envs\tensorflow\Lib\site-packages -
这里出现第二个问题。
python3: can't open file 'tensorflow/examples/speech_commands/train.py': [Errno 2] No such file or directory
我看了下包里确实没有。于是去GitHub https://github.com/tensorflow/tensorflow 下载了,复制替换原来的TensorFlow。
可以D:\Anaconda3\envs\tensorflow\examples\speech_commands>python train.py 运行 -
然后新的问题。
这里其实有个有趣的地方,TensorFlow源文件中的py文件import numpy,找的不是虚拟环境中与TensorFlow平级的numpy,也不是TensorFlow下的numpy,而是anaconda安装时自带的的numpy。开始尝试。
- 第一个,用GitHub下载的替换,没变。
- 第二个,在无数个地方
conda install msvc_runtime
,不行 - 第三个,进入D:\Anaconda3\Scripts,删除numpy,再
pip install -U numpy
问题解决!
-
新的问题出现。
看了一下之前是第77行的问题,好的看起来上一个没问题了。
我先试试看验证一下。
根据并且感激刚刚的报错(?,我们知道import的包是在D:\Anaconda3\Lib\site-packages下面找的。而这里确实没有TensorFlow。那直接下载一个。D:\Anaconda3\Lib\site-packages>pip install -U tensorflow
好了现在找的到了,但是似曾相识的问题出现了。
问题处出在于,刚刚直接安装tensorflow时, protobuf安装的是最新版本3.7.1, 出现了不兼容的问题。
在D:\Anaconda3\envs\tensorflow\Lib\site-packages\tensorflow\examples\speech_commands下直接输入>pip install protobuf==3.6.0
然后自动安装这个版本卸载上一个版本。问题解决。 -
新的问题继续出现~只有一行字看起来问题不大(。
好的这个问题所在主要是,之前我们自己删除了numpy后重装,删除的同时会使所有依赖包的动态链接关系发生变化,导致很多包都不能使用(包括sciki-learn,pandas等等),这些依赖包均需要重新安装才行。
因此我们按照这个顺序安装:numpy+mkl→scipy→matplotlib / scikit-learn /scikit-image。
中途报了个错,用管理员身份运行就好啦。
可以下载了!
虽然很快是因为网络问题断了(落泪
因为终端不支持断点下载哒,所以要重新下载。这时先在磁盘根目录把一个叫做tmp的临时资源文件删了先,我们开始漫长的等待过程吧。
- Tensorboard还在作妖
老朋友版本不兼容的问题,D:\Anaconda3\Lib\site-packages>pip install tensorboard==1.12.0
回滚旧版本吧。注意是==,并且不能加空格。