零基础10分钟快速体验TensorFlow-涉及AWS/EC2/PIP/Python

来源:互联网 发布:行楷字帖谁的好 知乎 编辑:程序博客网 时间:2024/06/05 14:39

背景

上周看到一篇关于TensorFlow的概述,才发现Tensor和Flow分别是什么涵义,同时也发现可以快速体验一下。就如同学习一种新的编程语言,HelloWorld程序的运行很多时候都是学习过程的第一个里程碑。而我希望找到一种最快的途径来到达这个里程碑。比较了一些方案之后,我决定基于EC2把环境搭起来,然后跑官方提供的基于Python的例子。过程其实很顺利的,我写这个博客所花的时间要远超过实践。但我愿意花点时间写下来是希望给那些想学习TensorFlow却担心门槛高而止步不前的人一个参考。

前提

有AWS账号。如果还没有可以去http://aws.amazon.com/注册一个,免费试用一年。

步骤

通过AWS Console准备EC2环境

  1. 建议选择us-west的AWS region。这样的好处有两个,一是从国内访问速度还可以,再者访问美国的资源速度很快。比如我用的是[1] 。登录AWS Console后找到EC2。在EC2的主界面上点击Launch Instance。
  2. 选择第一个Amazon Linux即可,这个是免费的。
    Select AMI
  3. 选择默认的硬件配置即可,这个配置虽然简陋但对实现本文的目的足矣。
    Select Hardware
  4. 点击默认的Review and Launch按钮后再点击默认的Launch按钮。
    Review
  5. 推荐新创建key pair。命名可以比较随意但最好不要加特殊字符(如空格),点击Download后把pem文件保存好,后面SSH登录EC2时要用。
    Launch
  6. 从EC2的Instance界面获得EC2主机名,AWS会自动分配公网主机名。比如我这个就是ec2-34-212-83-161.us-west-2.compute.amazonaws.com。
    EC2
  7. 等EC2启动后就可以准备SSH登录了。在这之前需要改变pem文件的访问属性chmod 600 yingjil-tensorflow-ec2.pem
  8. 用之前下载的pem文件可以很方便地登录EC2,用户名是ec2-user
    ssh -i yingjil-tensorflow-ec2.pem ec2-user@ec2-34-212-83-161.us-west-2.compute.amazonaws.com
    登录成功的提示如下
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 availableRun "sudo yum update" to apply all updates.[ec2-user@ip-172-31-32-214 ~]$

在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 linux2Type "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