1. 程式人生 > >零基礎10分鐘快速體驗TensorFlow-涉及AWS/EC2/PIP/Python

零基礎10分鐘快速體驗TensorFlow-涉及AWS/EC2/PIP/Python

背景

上週看到一篇關於TensorFlow的概述,才發現Tensor和Flow分別是什麼涵義,同時也發現可以快速體驗一下。就如同學習一種新的程式語言,HelloWorld程式的執行很多時候都是學習過程的第一個里程碑。而我希望找到一種最快的途徑來到達這個里程碑。比較了一些方案之後,我決定基於EC2把環境搭起來,然後跑官方提供的基於Python的例子。過程其實很順利的,我寫這個部落格所花的時間要遠超過實踐。但我願意花點時間寫下來是希望給那些想學習TensorFlow卻擔心門檻高而止步不前的人一個參考。

前提

步驟

通過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 [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銷燬。

參考

相關推薦

基礎10分鐘快速體驗TensorFlow涉及AWS/EC2/PIP/Python

背景 上週看到一篇關於TensorFlow的概述,才發現Tensor和Flow分別是什麼涵義,同時也發現可以快速體驗一下。就如同學習一種新的程式語言,HelloWorld程式的執行很多時候都是學習過程的第一個里程碑。而我希望找到一種最快的途徑來到達這個里程碑。

10分鐘快速精通rollup.js——前置學習之基礎知識篇

前言 本文是《10分鐘快速精通rollup.js——Vue.js原始碼打包過程深度分析》的前置學習教程,講解的知識點以理解Vue.js打包原始碼為目標,不會做過多地展開。教程將保持rollup.js系列教程的一貫風格,大部分知識點都將提供可執行的程式碼案例和實際執行的結果,讓大家通過教程就可以看到實現效果,

CentOS 10分鐘快速安裝rabbitMQ 最新版

rabbitmq erlang yum1、配置erlang yum 源 (根據自己系統版本選擇合適的源 https://github.com/rabbitmq/erlang-rpm) vim /etc/yum.repos.d/rabbitmq-erlang.repo [rabbitmq-erla

基礎如何高效快速的學習大數據?

AC 高效 大綱 方向 關於大數據 發展方向 執行過程 ping 人員 經常有初學者在問我,自己想往大數據方向發展,該學哪些技術,學習路線是什麽樣的,覺得大數據很火,就業很好,薪資很高。。。。。。。如果自己很迷茫,為了這些原因想往大數據方向發展,也可以,那麽我就想問一下,

10分鐘快速搭建Kubernetes容器集群平臺

管理員 tro 容器雲 use ports dwl nag 時間 kubeadm 官方提供Kubernetes部署3種方式 minikube Minikube是一個工具,可以在本地快速運行一個單點的Kubernetes,嘗試Kubernetes或日常開發的用戶使用。不能

10分鐘快速構建汽車零售看板

此文已由作者王文開授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 要說整車廠的核心業務是什麼,說白了就是兩個:一個是造車,一個是賣車;我今天想來聊一聊賣車,也就是整車廠的銷售業務。 目前中國的汽車銷售模式都是通過經銷商的(暫時不考慮那些垂直的汽車電商,不是本文的重點),普通的個人

10分鐘快速學會SiteMesh的使用

概述   SiteMesh是一個用來在JSP中實現頁面佈局和裝飾的框架元件,能夠幫助網站開發人員較容易實現頁面中動態內容和靜態裝飾外觀的分離。 工作原理   SiteMesh是基於Servlet的filter的,即過濾流。它是通過擷取response,並進行裝飾後再交付給客戶

10分鐘快速入門rollup.js

為什麼要學習rollup.js rollup.js是Javascript的ES模組打包器,我們熟知的Vue、React等諸多知名框架或類庫都通過rollup.js進行打包。與Webpack偏向於應用打包的定位不同,rollup.js更專注於Javascript類庫打包(雖然rollup.js也可以提供資源打

10分鐘快速進階rollup.js

前言 上一篇教程中,為大家介紹了rollup.js的入門技巧,沒有讀過的小夥伴可以點選這裡,本次我們將繼續對rollup.js的進階技巧進行探討,想直接看結論的小夥伴可以直接看最後一章。 rollup.js外掛 rollup.js的外掛採用可拔插設計,它幫助我們增強了rollup.js的基礎功能,下面我

10分鐘快速精通rollup.js——Vue.js原始碼打包原理深度分析

前言 本教程是rollup.js系列教程的最後一篇,我將基於目前非常流行的Vue.js框架,深度分析Vue.js原始碼打包過程,讓大家深入理解複雜的前端框架是如何利用rollup.js進行打包的。通過這一篇教程的學習,相信大家可以更好地應用rollup.js為自己的專案服務。 說明:本教程基於Vue

10分鐘快速精通rollup.js——前置學習之rollup.js外掛篇

前言 本文是《10分鐘快速精通rollup.js——Vue.js原始碼打包過程深度分析》的前置學習教程,講解的知識點以理解Vue.js打包原始碼為目標,不會做過多地展開。教程將保持rollup.js系列教程的一貫風格,大部分知識點都將提供可執行的程式碼案例和實際執行的結果,讓大家通過教程就可以看到實現效果,

linux中利用docker和docker-compose搭建lnmp環境詳解 10分鐘快速完成

本文主要包括部分 注意事項 重要資訊提示 快速執行安裝的純命令 相關介紹 配置檔案,參考地址   1.要求說明:    linux, 安裝了docker和docker compose 特別注意: 本文中提及的密碼與本文的配置檔案可能不一致(與新詳

10 分鐘快速入門:HTTP快取

場景1: 每次你開啟 XXXXHub,準備麒麟臂,滿心歡喜的等待一張圖片載入回來。圖片終於不負眾望載入回來了,可這居然是昨天看過的那張!這簡直大煞風景!誰能忍! 場景2: 有些時候,辦公室裡會傳來產品大人的尖叫:“怎麼網頁還是原來的樣子?” 然後你會聽到前端 GGMM 們不屑的回答:“我

React 10分鐘快速入門

一、簡介: React 是一個用於構建使用者介面的 JAVASCRIPT 庫。 React主要用於構建UI,很多人認為 React 是 MVC 中的 V(檢視)。 React 起源於 Facebook 的內部專案,用來架設 Instagram 的網站,並於 2013 年 5 月開源。 React

Python基礎知識細節點總結,基礎分鐘也能掌握

既然要開始學習Python,那麼就首先就得不官網下載個Python,小編使用的是3.6的 安裝教程百度經驗裡面還是很詳細的。 那麼正題開始吧! Python基礎知識細節點總結,零基礎一分鐘也能掌握 兩種格式化輸出的方式 第一種是用%操作格式化輸出字串 程式碼如下:

安卓極光推送-(最新版,10分鐘快速整合!)

效果圖: 前言:上一篇極光是7月份整合的,到12月份自己照著來發現很多方法用不了和過時了,同時寫的十分臃腫,這次再次整合只需10分鐘! 版本記錄: 1、jcore:1.1.1 jpush:3.0.3 時間:2017-08-01 2、j

10分鐘快速入門Python函數語言程式設計

作者 | Brandon Skerritt 譯者 | 王天宇、琥珀 編輯 | 琥珀 出品 | AI科技大本營 本文,你會了解到什麼是函數語言程式設計,以及如何用 Python 進行函數語言程式設計。你還會了解到列表解析和其他形式的解析。 ▌程式設計式

【SpringBoot】10分鐘快速搭建ssm框架

        弄了這麼長時間的springboot了,現在來實戰一把,搭個框架吧,只要是對於maven專案比較熟悉的人都可以在10分鐘左右搭建成功這個框架喲。       使用工具:Idea,maven3.9       前提:idea配置好maven倉庫以及連線好nexu

基礎掌握百度地圖興趣點獲取POI爬蟲(python語言爬取)(基礎篇)

region map 基礎 輸入 filter put mark page -h 實現目的:爬取昆明市範圍內的全部中學數據,包括名稱、坐標。 先進入基礎篇,本篇主要講原理方面,並實現步驟分解,為python代碼編寫打基礎。 因為是0基礎開始,所以講得會比較詳細。 如實現目的

基礎掌握百度地圖興趣點獲取POI爬蟲(python語言爬取)(進階篇)

好,現在進入進階篇教程。 1.獲取昆明市的bounds值 看到下面這個東西了吧?在文字框裡寫入昆明市,或者其他的行政區劃地名,北京市、朝陽區、大河溝子村什麼的。 這也是通過呼叫百度地圖開放平臺API實現的。 實現起來很簡單,把下面這段程式碼複製到一個