TensorFlow的機器學習評論系列 – 第1部分如何啟動TensorFlow-

隨著計算機程序“AlphaGo”贏得了韓國專業人士的四對一失敗,似乎有機會聽到“機器學習”這個詞最近經常增加。
也許正因為如此,我現在也對“機器學習”感興趣。
但是,當我聽到“機器學習”時,

  • 需要專業知識
  • 在大學和研究機構學到很多東西的人所做的事情

作為一個文學程序員,他的印像是我沒有專業知識,我無法邁出第一步。

在這個“TensorFlow機器學習評論”系列中,對於那些無法邁出這一步的人,他們練習並研究了TensorFlow安裝中發布教程,其內容甚至可以被機器學習者理解。我想盡我所能盡力解釋。

這次,第一次,我想從TensorFlow安裝到簡單的操作檢查

  • 什麼是TensorFlow?
  • TensorFlow安裝程序
    • 準備執行環境
    • 在虛擬環境中安裝TensorFlow
    • “你好,TensorFlow!”來自TensorFlow
  • 一個小人行道 – 什麼是數據流圖?
  • 摘要

什麼是TensorFlow?

簡而言之,Google是一個作為開源發布的機器學習庫。
這個“TensorFlow”用於學習一開始就寫的“AlphaGo”,但它也是谷歌服務(如Google Photo)使用的庫。

截至2018年04月01日的最新版本為1.3.1。
根據教程,您只能安裝兩個操作系統:Linux和Mac OS X,以及C ++和Python開發語言。
在“TensorFlow評論”系列中,OS被假定為Ubuntu 18.04 LTS,並且開發語言被假定為Python環境。

TensorFlow安裝程序

TensorFlow的安裝環境是在Google Compute Engine(以下簡稱GCE)上準備的。
GCE VM實例的規格如下。請參考。

OSUbuntu 18.04 LTS
Machine typen1-standard-2 (2 vCPUs, 7.5 GB memory)
CPU platformIntel Ivy Bridge
Boot disk and local disks [Size (GB)]10
Boot disk and local disks [Type]SSD persistent disk
Boot disk and local disks [Mode]Boot, read/write

另外,安裝程序基本上遵循以下文件中的程序。
安裝說明:https://www.tensorflow.org/versions/r0.8/get_started/os_setup.html#download-and-setuph

※每個操作系統的安裝步驟略有不同,請根據您的環境進行適當的更改。

準備執行環境

首先,在安裝庫之前,我想設置TensorFlow的執行環境。
工作在主目錄下的用戶目錄中完成。

Python版本檢查

由於可以使用TensorFlow的Python版本是2.7系列或3.6系列或更多,執行以下命令來檢查Python的版本。
 代碼

python3 -V

如果未安裝Python,或者不是2.7系列或3.6系列或更高版本,請安裝它。

安裝pip和virtualenv

使用Python安裝兩個熟悉的軟件包。
執行以下命令以安裝pip(* 1)和virtualenv(* 2)。
 代碼

sudo apt-get update
sudo apt-get install python-pip python-dev python-virtualenv

顯示這段文字請按“Y”

After this operation, 237 MB of additional disk space will be used.Do you want to continue? [Y/n] Y

* 1)pip是一個管理Python軟件包的軟件包。
* 2)virtualenv是一個可以創建Python虛擬環境的包。

為virtualenv創建一個虛擬環境

安裝pip和virtualenv之後,下一步是創建一個virtualenv環境。
執行以下命令。
 代碼

virtualenv --system-site-packages ~/tensorflow

執行後,當您執行“ls”命令時,您可能已經創建了一個名為“tensorflow”的目錄。
您現在已經創建了一個虛擬環境。
從現在開始,我們將在這個“tensorflow”目錄下的虛擬環境中工作。

加載虛擬環境

接下來,使用以下命令加載虛擬環境。
 代碼

source ~/tensorflow/bin/activate

如果可以正確讀取虛擬環境,則創建虛擬環境時指定的目錄名稱將顯示在括號中,如下所示。

(tensorflow)yasue@tensorflow-report:~$

現在您已擁有虛擬環境,您需要至少獲得TensorFlow。

接下來是為虛擬環境安裝TensorFlow。

在虛擬環境中安裝TensorFlow

TensorFlow的安裝很簡單。
TensorFlow正式提供了一個輪子文件(* 3),因此它可以與pip一起安裝。
* 3)wheel文件是一個用Python包裝格式構建的文件。
它通常用於分發Python庫和包。
請查看官方頁面,了解如何指定最新的TensorFlow wheel。
https://www.tensorflow.org/versions/master/get_started/os_setup.html#pip-installation

現在,安裝TensorFlow。
 代碼

(tensorflow)yasue@tensorflow-report:~$ sudo apt install python3-pip 
(tensorflow)yasue@tensorflow-report:~$ sudo pip3 install tensorflow

如果你運行它,它將安裝與TensorFlow一起依賴的庫。
TensorFlow有兩種類型,GPU版本和CPU版本,但安裝了CPU版本,因為GPU不能在GCE的VM實例中使用。

安裝完成

“你好,TensorFlow!”來自TensorFlow

現在安裝完成了,讓我們檢查一下我們是否可以使用Python的TensorFlow。

使用解釋器運行Python並執行下面的代碼。
 代碼

(tensorflow)yasue@tensorflow-report:~$ python3
>>> import tensorflow as tf
# (1)
>>> hello = tf.constant('Hello, TensorFlow!')
# (2)
>>> sess = tf.Session()
>>> print(sess.run(hello)) 
'Hello, TensorFlow!'

你有沒有看到“Hello,TensorFlow!”嗎?
如果顯示沒有錯誤,則操作檢查沒有問題。
好吧,我想在這裡解釋一些代碼。
※如果評論中有任何錯誤或其他信息,如果您能指出它,將不勝感激。

在(1)中,我們使用“tf.constant()”來創建Tensor類型對象。
Tensor類型是一種不熟悉的類型,但它可以處理類似矩陣的多維數組。由於存儲的值是字符串“Hello,TensorFlow!”,您可能不知道您正在處理額外的矩陣。
如果您嘗試輸出Tensor類型變量hello作為試用版,
 代碼

print(hello)
Tensor("Const:0", shape=(), dtype=string)

在中,而不是字符串“Hello,TensorFlow!”存儲在hello中,輸出Tensor類型對象的信息。
從這個輸出中,名為hello的Tensor類型變量是

  • 因為它是“Const”,所以它被定義為“常量”
  • 因為“形狀”的值是空的,所以它是0維的
  • 由於“dtype”是“string”,因此值的數據類型是字符串

我明白了。

在(2)中,使用“tf.Session()”創建一個Session對象,將帶有“print(sess.run(hello))”的Tensor類型變量的“Hello”傳遞給Session,然後執行計算。我正在做輸出,因為它是一個帶print()的字符串。

接下來,讓我們添加。
 代碼

# (3) 
>>> a = tf.constant(10) 
>>> b = tf.constant(32) 
# (4) 
>>> print(sess.run(a + b))  
42

你也變成了42嗎?

這是操作檢查的結束。

講點稍微不一樣的 – 什麼是Dataflow?

由於操作檢查也已完成,我想在此解釋TensorFlow的計算過程。
TensorFlow的計算過程由“數據流圖”表示。
即使它被稱為“Dataflow”,它也是一個誠實而不熟悉的詞。
在官方頁面的解釋中,它用英文寫成“用圖表表示節點和邊緣的有向圖和數學計算”,並附有圖表,但是這個解釋並不清楚。
我檢查了一下並查看了它,但數據流圖如圖1中的圖所示。


圖1.Dataflow示例

如果查看圖1,您可以看到Dataflow是一個圖,其中節點和節點通過邊連接。
數據似乎根據邊緣傳遞給節點以進行計算處理。
具體而言,“hello”是與該操作檢查代碼中的節點對應的節點。
此外,TensorFlow 似乎將節點稱為op(Operation的縮寫)。
我認為圖像涉及Dataflow。

摘要

您是否能夠從安裝到操作檢查成功安裝TensorFlow?
我想閱讀這篇文章,以便通過TensorFlow教程加深對數學核心部分和機器學習本身的理解,所以我希望你能熱情地閱讀它。
如果您有任何意見,建議或錯誤,如果您可以在評論中進行教學,將不勝感激。

下次,我們將介紹MNIST教程,所以請盡情享受。

Aaron Lee

超過6年的Google Cloud經驗,服務過上百家G Suite與GCP客戶,擔任多次研討會主講人與教育訓練講師,提供架構諮詢與技術支援,幫助各大企業上雲。