机器学习框架:TensorFlow初学心得(1)
昨晚心血来潮,想试一试机器学习。之前就在一篇很有名的博客上看到了机器学习的原理,觉得很有趣。在这里记录一下我的心得和曾经遇到的困惑,希望可以帮助到其他人
TensorFlow是什么
其实TensorFlow非常有名,各位同学肯定听说过Google的AlphaGo项目,所用的框架就是TensorFlow。后来Google觉得机器学习将会是未来的潮流(这也是打动我来学习的原因之一),决定将这个项目开源,给行业一个标准来参考。在这里我再一次被free-software的理念打动了。
TensorFlow框架目前已经被以下企业所使用
(图片转自TensorFlow官网)
TensorFlow有一大特点,ta会自动利用你的GPU进行运算,前提是各位同学的计算机中需要有一块及以上Nvidia CUDA的显卡,这将会极大地提高运算的速度,毕竟显卡处理浮点数和矩阵的速度,是只会加一加、移一移的CPU所不能比的。
如果没有也不必担心,利用CPU也能实现相同的功能,只是指令格式上会稍有区别。
开发环境搭建
我用的开发环境是MacOS Sierra,用命令行操作。Linux用户也是一样的,windows就不知道了,估计会比较复杂。
- Python环境配置
python是一门脚本语言,在科学计算领域有很好的应用。目前python有2.x和3.x两个版本系列。3.x是最新的版本,语法稍有差别。2.x版本官方已经声明不再进行维护,而且越来越多的项目都纷纷迁移到3.x,所以建议大家使用3.x的版本进行学习。
这里我们可以先下载python最新版本。写这篇博客的时候,python的最新版是3.6
如果你的电脑安装了home-brew,可以直接
brew install python
或者直接到python的ftp里简单粗暴地py交易一下,也是很舒服的。
下载完毕后,在你的console里输入
python -V
可以查到当前默认的python版本。咿?怎么不是我刚才安装的那个版本的。别担心,你目前看到的只是本机默认的python版本。查看/Library/Frameworks/Python.framework/Versions目录,是不是找到了刚才安装的版本
- virtualenv环境配置
但很多mac/linux的同学电脑上已经安装了2.x,如果强行升级的话,不仅步骤很繁琐,而且会导致很多冲突。而不升级的话,许多开源的库又可能无法使用。
为了解决冲突的问题,可以使用virtualenv。virtualenv是一款开源的软件,可以模拟出一个虚拟的开发环境,并可以指定不同版本的python,这个虚拟环境除了python包之外,会和原来的python共享你的计算机资源,因此它非常的小巧,可以随时装到口袋里也不会觉得很重(开玩笑的)。
如果你刚才成功安装了python,那里面就包含了一个很好用的包管理工具easy_install,但比起这个软件,有一个更方便的包管理工具,叫pip
可以直接
easy_install pip
你就拥有了pip这个小可爱,快来看看她安装成功了没有
pip list
可以查看当前pip包含所有工具的版本
好了,终于可以安装virtualenv了,输入
pip install virtualenv
就自动安装了virtualenv
下面利用virtualenv开始配置你的虚拟环境吧
virtualenv demoname --pyhont=python3.6
demoname是你新环境的名字,可以随意起,后面的python3.6是你刚才安装的python的版本。virtualenv会自动搜索你的机器,然后帮你完成剩余的工作。是不是很贴心呢
最后,就是进入你的虚拟环境啦。刚才搭建的环境会保存在你的usr目录下,所以一路cd到/demoname/bin/,好的,刹车,ls一下里面有什么
97Castle:bin 97building$ ls
activate f2py3.6 python3
activate.csh pip python3.6
activate.fish pip3 tensorboard
activate_this.py pip3.6 wheel
easy_install python
easy_install-3.6 python-config
确定一下你的shell的类型。你问我那是什么,其实就是shell的版本,可以输入
echo $SHELL
注意大小写哦。你看到的后缀就是shell的类型了。如果是zsh和bash等常见的,选择activate来启动,如果是csh,则选择带csh后缀的来启动
输入
source ./activate
来启动你的虚拟环境。是不是发现界面有稍许的不一样呢?当你的命令行前面出现了(demoname)字样的时候,就代表你进入了虚拟环境了,就像我的这样:
(tenTest97) 97Castle:bin 97building$
来看一眼python的版本
(tenTest97) 97Castle:bin 97building$ python -V
Python 3.6.1rc1
是不是成了新下载的版本了,开心吧。
在这里,你可以输入
python
先到python环境里玩一玩,写个hello world什么的,学习一下python的语法。这里给大家找到一个python3.x的教程,不了解python的同学可以围观一下,感受一下python语言的魅力,养精蓄锐一番之后,我们会进入正式的TensorFlow学习。
(未完待续)