TensorFlow機器學習安裝與配置(二)

TensorFlow是Google開源的一款人工智能學習系統。爲什麼叫這個名字呢?Tensor的意思是張量,代表N維數組;Flow的意思是流,代表基於數據流圖的計算。把N維數字從流圖的一端流動到另一端的過程,就是人工智能神經網絡進行分析和處理的過程。
話說在Android佔領了移動端後,Google開源了TensorFlow,希望佔領AI端。TF的特點是可以支持多種設備,大到GPU、CPU,小到平板和手機都可以跑起來TF。而且TF的使用很方便,幾行代碼就能開始跑模型,這讓神經網絡的入門變得非常簡單。
本文是第一篇,都是最基礎的內容,老手可以略過
一、TensorFlow的安裝
在開始寫代碼之前,咱們先得把TensorFlow安裝到電腦上。這裏有兩種方法,一是一個一個手動命令行安裝,二是批量的圖形化界面安裝。
先看手動安裝,我們安裝好TensorFlow和upyter Notebook就可以了。
1)安裝TensorFlow
Windows上:
安裝CPU版本:管理員模式打開命令行,輸入命令:pip install tensorflow
安裝GPU版本:管理員模式打開命令行,輸入命令:pip install tensorflow-gpu
這裏寫圖片描述
Linux上:
命令和上面一樣,如果你使用的是Python3點幾的版本,那麼安裝命令爲:
安裝CPU版本:輸入命令:pip3 install tensorflow
安裝GPU版本:輸入命令:pip3 install tensorflow-gpu
如果提示沒有安裝pip,mac的同學可以先通過命令安裝pip:
1 命令行輸入:curlhttps://bootstrap.pypa.io/ez_setup.py-o - | sudo python
2 命令行輸入:sudo easy_install pip
2)安裝Jupyter Notebook
這是一個交互式的筆記本,你可以理解爲一個比較漂亮和簡潔的編輯器。可以很方便地創建和共享文學化程序文檔,支持實時代碼,數學方程,可視化和 markdown。一般用與做數據清理和轉換,數值模擬,統計建模,機器學習等等。
輸入命令:pip install jupyter
前面的方法是自己手動一個一個安裝,其實已經有人幫我們做了一個大集合,不需要再一個一個手動安裝了,下面介紹圖形界面的批量安裝方式:
1)安裝Anaconda。Anaconda是什麼?如果你把TensorFlow看做火箭筒,那麼Anaconda就是軍火庫,裏面有各種的科學計算,機器學習的Python工具庫。在官網下載後,直接安裝,然後打開Anaconda,就可以看到下面的頁面:
這裏寫圖片描述
2)點到第二行的Environments,可以看到很多的工具包,搜索TensorFlow,勾選上,然後點擊Apply,進行安裝就可以了。如果以後還需要其他的工具包,也可以在裏面找到,勾選上進行安裝。
這裏寫圖片描述
OK,安裝教程到此告一段落。有了jupyter和tensorflow,我們就可以開始基礎的運算了。
二、TensorFlow的基礎運算
在搞神經網絡之前,先讓我們把TensorFlow的基本運算,也就是加減乘除搞清楚。
首先,TensorFlow有幾個概念需要進行明確:
1 圖(Graph):用來表示計算任務,也就我們要做的一些操作。
2 會話(Session):建立會話,此時會生成一張空圖;在會話中添加節點和邊,形成一張圖,一個會話可以有多個圖,通過執行這些圖得到結果。如果把每個圖看做一個車牀,那會話就是一個車間,裏面有若干個車牀,用來把數據生產成結果。
3 Tensor:用來表示數據,是我們的原料。
4 變量(Variable):用來記錄一些數據和狀態,是我們的容器。
5 feed和fetch:可以爲任意的操作(arbitrary operation) 賦值或者從其中獲取數據。相當於一些鏟子,可以操作數據。
形象的比喻是:把會話看做車間,圖看做車牀,裏面用Tensor做原料,變量做容器,feed和fetch做鏟子,把數據加工成我們的結果。
2.1 創建圖和運行圖:
這裏寫圖片描述
下面我們創建一個圖,並在Session中執行它,不用擔心看不懂,每句代碼都會註釋,只有有編程基礎,都能OK:
上面就是用TensorFlow進行了一個最簡單的矩陣乘法。
2.2 創建一個變量,並用for循環對變量進行賦值操作
這裏寫圖片描述
可以看到,除了變量創建稍微麻煩一些和必須建立session來運行,其他的操作基本和普通Python一樣。
2.3 通過feed設置placeholder的值
有的時候,我們會在聲明變量的時候不賦值,計算的時候才進行賦值,這個時候feed就派上用場了
這裏寫圖片描述
到這裏,恭喜你,已經成功入門TensorFlow~ 是不是覺得太簡單?好像和深度學習毛線關係都沒有嘛。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章