古人云,工欲善其事必先利其器,想要开始一个TensorFlow程序,一个好的开发工具是必不可少的。古人又云,万事开头难。如果你之前没有任何Python工程经验,你会发现看了很多入门文章,却不知道如何下手。今天就介绍下如何把TensorFlow工程环境搭建起来,剩下的就靠自己实践啦。
其实运行TensorFlow工程也就是运行一个Python工程,我大概看了下Python语法,用起来跟php、java没什么两样,大概是一些基本的数据类型,循环,条件等等,于是你可以使用pycharm很轻易的写出一段hello world!出来,但是你怎么去运行TensorFlow呢?
原来TensorFlow只不过是一个依赖包,就像我们的java里的一个jar包一样,提供的是一个库里的一个功能,所以我们这里把Python的依赖搞清楚,也就解决了我们的工程环境问题。
python的依赖管理
说到Python的依赖管理,不得不提到pip,所有的依赖包都可以使用pip install 来安装,这点类似于java里的maven仓库,java通过pom.xml文件来管理jar包,然后自动从远程仓库把jar包给你下载到本地。同样的道理,pip install会把你的包下载到你的python的 site-packages里,所以你去那个路径下找你的安装包就行了。
接着你使用官方的介绍文档开始安装TensorFlow,只有这个写的是最清楚明白的,https://www.tensorflow.org/install/install_mac?hl=zh-cn#ValidateYourInstallation。文章推荐你使用Virtualenv的安装方式来安装,那么Virtualenv是个什么东西呢?
Virtualenv从名字就可以看出是一个虚拟的环境。这里的一个背景是,python对依赖包有多个版本时候的冲突问题。如果你一个工程依赖的是这个包的1.0,另外一个工程依赖的是2.0,结果就杯具了,因为他安装在同一个位置,导致包冲突。java里的maven仓库通过不同的路径很好的解决了这个问题,不知道python为什么不能多个版本?所以virtualenv就可以让你一个工程一个环境,互相不冲突。详细的介绍 https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432712108300322c61f256c74803b43bfd65c6f8d0d0000
pip uninstall protobufpip install protobufpip install --upgrade protobuf==3.0.0a3
这个时候多半会遇到另外一个问题,那就是
TypeError: __init__() got an unexpected keyword argument ‘serialized_options'
pip install -U protobuf
多半就可以了,参考文章 :https://blog.csdn.net/qq_41185868/article/details/82890135
那么如何在我们的pycharm里运行我们的TensorFlow程序呢?
只需要设置你的Project interperter到你的Virtualenv那个目录下的python环境即可。可以看到我已经载入了很多依赖,这个时候pycharm可以解析这些依赖,你import的时候就能正常工作了。
接下来你就可以到你的pycharm里练习这里的代码了。