零基础10分钟快速体验TensorFlow-涉及AWS/EC2/PIP/Python
背景
上周看到一篇关于TensorFlow的概述,才发现Tensor和Flow分别是什么涵义,同时也发现可以快速体验一下。就如同学习一种新的编程语言,HelloWorld程序的运行很多时候都是学习过程的第一个里程碑。而我希望找到一种最快的途径来到达这个里程碑。比较了一些方案之后,我决定基于EC2把环境搭起来,然后跑官方提供的基于Python的例子。过程其实很顺利的,我写这个博客所花的时间要远超过实践。但我愿意花点时间写下来是希望给那些想学习TensorFlow却担心门槛高而止步不前的人一个参考。
前提
有AWS账号。如果还没有可以去http://aws.amazon.com/注册一个,免费试用一年。
步骤
通过AWS Console准备EC2环境
- 建议选择us-west的AWS region。这样的好处有两个,一是从国内访问速度还可以,再者访问美国的资源速度很快。比如我用的是[1] 。登录AWS Console后找到EC2。在EC2的主界面上点击Launch Instance。
- 选择第一个Amazon Linux即可,这个是免费的。
- 选择默认的硬件配置即可,这个配置虽然简陋但对实现本文的目的足矣。
- 点击默认的Review and Launch按钮后再点击默认的Launch按钮。
- 推荐新创建key pair。命名可以比较随意但最好不要加特殊字符(如空格),点击Download后把pem文件保存好,后面SSH登录EC2时要用。
- 从EC2的Instance界面获得EC2主机名,AWS会自动分配公网主机名。比如我这个就是ec2-34-212-83-161.us-west-2.compute.amazonaws.com。
- 等EC2启动后就可以准备SSH登录了。在这之前需要改变pem文件的访问属性
chmod 600 yingjil-tensorflow-ec2.pem
- 用之前下载的pem文件可以很方便地登录EC2,用户名是ec2-user
ssh -i yingjil-tensorflow-ec2.pem [email protected]
登录成功的提示如下
Last login: Sat Sep 23 14:33:22 2017 from 205.251.233.183 __| __|_ ) _| ( / Amazon Linux AMI ___|\___|___| https://aws.amazon.com/amazon-linux-ami/2017.03-release-notes/ 8 package(s) needed for security, out of 8 available Run "sudo yum update" to apply all updates. [[email protected] ~]$
在EC2上运行TensorFlow
这里基本就是参考官方文档[2]即可。还有就是根据系统提示或者错误信息作出一些微调,比如用yum而不是apt-get来安装软件。因为前面选择了us-west的AWS region,以下命令的执行时间全是秒级。
1. sudo yum update
2. sudo yum install python-pip python-dev
3. sudo pip install –upgrade pip
4. sudo /usr/local/bin/pip install tensorflow
5. python (在python内的后续输入参考了[3])
Python 2.7.12 (default, Sep 1 2016, 22:14:00) [GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow as tf >>> hello = tf.constant('Hello, TensorFlow!') >>> sess = tf.Session() >>> print(sess.run(hello)) Hello, TensorFlow!
到此为止本文的目标已经完成。真正的TensorFlow之旅开始了,与君共勉!
提醒:实验完了如果不是长期使用建议把EC2的Instance销毁。
参考
[1] https://us-west-2.console.aws.amazon.com/ec2/v2/home?region=us-west-2#
[2] Installing with native pip, https://www.tensorflow.org/install/install_linux
[3] https://www.tensorflow.org/install/install_linux#ValidateYourInstallation