原本是买了一本西瓜书打算好好研究一下的。由于自己辣鸡的数学功底,加上西瓜书确实讲的都是理论部分,不能动手,让我觉得十分枯燥。自学要坚持下去,靠的更多的还是兴趣。为了不让我的兴趣消退下去,买了一本网课,先从表层学起吧,熟悉一下框架,能够自己做出东西来了,再去研究理论也是不迟的。
网课老师十分良心的配置好了一个虚拟机镜像,里面已经安装好了全套的环境,只要下载下来用Virtual Box打开就能直接用了。也就一个6G大的文件,但是百度网盘不知道抽了什么风,即使使用会员加速还是很慢,所以只好自己手动搭建环境了。
心想直接一步到位,安装GPU版本的Tensorflow,于是看了教程,直接下载了CUDA 9.2 和配套的cuDNN,然而从这一步开始就错了,因为tensorflow 1.8只支持CUDA 9.0,这在我翻阅官方文档的时候才发现。另外,tensorflow的安装也是历经坎坷,一开始的时候直接pip install tensorflow-gpu,结果居然说找不到对应的版本,怀疑是装了32位的Python,然而装好64位版以后还是不行。
遂上官网看文档,发现tensorflow只支持3.5x,3.6.x,真是无语,又卸了重装一次。然后这次又特别蠢的没有用pip3命令,依然是无法安装,沉默了好久,终于突然想起来什么,用pip3安装,搞定了。
今天的基本知识:
Tensorflow顾名思义,是一个数据流图式的计算框架,据说比较适合进行机器学习,但是现在还不太了解。大概是因为和神经网络模型比较相似吧。里面有几个概念,一个是张量,也就是说tensor,一个是图(graphic),操作(operation),还有会话。
老师用化学实验比喻tensorflow的模型:操作相当于各个试管,烧杯,反应在里面进行,张量就是各个试管,各种物质在里面流动。试管和各个导管组成的整个装置是图。
而会话就比较微妙了。tensorflow虽然是一个python使用的框架,但是其实它还分成客户端与服务端,我们在py里编写的代码,其实算是客户端,要交由服务端才能运行,服务端就是tensorflow的底层框架,是用c++实现的,所以我们只不过是在用一些py代码操纵c++代码而已。我们搭好了整个化学反应的装置,但是它还没开始反应,这时候我们应该开启一个会话,将我们的图放进去,进行执行,然后会返回执行的结果。这更类似电路仿真吧,我们搭好了电路图,然后点击开始仿真,然后整个电路才开始工作,会话其实就是负责执行图的一个环境。
tensor有4类,常量,变量,占位符,稀疏张量,常量和变量都支持标准py数据类型,占位符没有任何数据,只负责占位,稀疏张量类似于稀疏矩阵。
网友评论