1、在github上下载tensorflow/model项目
https://github.com/tensorflow/models
在protobuf下载地址https://github.com/protocolbuffers/protobuf/releases 下载 protobuf-python.zip和protoc-win32.zip并解压。
1. 首先把protoc-win32文件夹下面的protoc.exe移至protobuf-python/src目录下。
2. 在cmd中进入protobuf-python/python目录,先执行activate tensorflow进入tensorflow环境吗,依次执行 python setup.py build和python setup.py test 和python setup.py install 。
3. 把protoc.exe所在的目录添加至环境变量。 通过执行 protoc --version验证设置环境变量是否成功。
编译proto文件:
、这里会报错。
Object_detection/protos/*.proto: No such file or directory,
单个编译的话又有好多文件相互关联,编译不成功,尝试多次后发现在models文件夹下使用 shift+右键 的Windows powershell中使用以下命令可以全部编译:
Get-ChildItem object_detection/protos/*.proto |Resolve-Path -Relative | %{protoc $_ --python_out=.}
另外即使下载的不是3.5、3.6版本,不报这个错,windows 下的命令应该是protoc --python_out=. *.proto
接下来将research文件夹和research里面的slim文件夹的地址加入环境变量PYTHONPATH中,可以使用命令
import os
print(os.sys.path)查看pythonpath的值
在python默认的第三方库安装路径中,(对于只安装了Anaconda的人来说是\Anaconda3\Lib\site-packages,安装官方发行版本也在类似的目录中)新建一个path.pth文件,在里面写上你tensorflow安装的位置(位置可以用pip show tensorflow查看)
D:\Anaconda3\envs\tensorflow\Lib\site-packages#写你自己的绝对路径,这里以安装Anaconda为例
5.配置路径2:
再次启动jupyter notebook测试import tf,如果成功恭喜你了,本贴结束。如果这时候只是错误变了,变为ImportError: cannot import name 'weakref',那么请在tensorflow的的安装位置中找到名为的tf_should_use.py文件,将第28行的from backports import weakref替换为import weakref
再次打开notebook测试,至此,大功告成!
-
以上算是Anaconda安装好了TensorFlow,但要想在Jupyter notebook上使用,还没完。
接着安装ipython,安装jupyter。(tensorflow)D:\>conda install ipython ··· (tensorflow)D:\>conda install jupyter ···
- 1
- 2
- 3
- 4
没错就是这里… 创建tensorflow这个conda环境时不设定python版本的话,因为Anaconda内置的python版本是3.6,安装ipython时就会有这一项,并且所有包都基于py36:
于是这个专门为TF服务的conda环境内的python就被更新成了3.6,于是我们前两步刚装好的TF就不能用了,于是只能把这个环境删掉重来… -
输入这个:
(tensorflow)D:\>ipython kernelspec install-self --user
- 1
看到类似这个结果
Installed kernelspec python3 in C:\Users\XXX\Jupyter\kernels\python3
- 1
然后再去 jupyter notebook 新建一个文件,试试 import tensorflow as tf,这时应该就可以用啦。
https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md查看可以利用的模型名称,注意要带着时间丫,比如: