tensorflow分為cpu與gpu兩個版本,可以使用如下命令安裝tensorflow(jupyter中的安裝)
!pip install tensorflow(cpu版本)
!pip install tensorflow-gpu(gpu版本)
安裝之後,在程式中就可以通過import匯入使用,按照管理,我們重新命名為tf。
import tensorflow as tf 可以通過如下的方式檢視tenforflow的版本:
tf.__version__
tensorflow是通過資料流圖完成計算的。tensorflow的名稱就是tensor + flow。
tensor就是張量,張量是深度學習中表示資料的標準方式。簡單的說,張量就是多維陣列。
flow就是資料的流動,是張量從一端流動到另外一端的過程。
圖是由節點與邊連線構成,在tensorflow中,節點表示操作,邊表示張量物件(張量的流動)。
其具體的操作:構建圖--->執行圖
注意事項:
1. 可以通過操作物件的graph屬性來獲取操作所屬的圖。
2.可以使用with與as_default來切換預設圖。
3.不同圖中定義的操作,不能進行運算。
4.tensorflow對型別的要求非常嚴格,不同型別之間無法進行運算。
注意事項:
1. 我們可以通過建立session物件,來執行圖(獲取資料)。session物件在使用之後需要進行關閉,我們可以使用with來簡化關閉的操作。
2.我們也可以建立互動式會話(interactivesession)。
差別在於:互動式會話相當於設定了預設的session。在進行求值時,無需顯式指定。
1.佔位符表示其值由使用者進行傳遞,通常用來儲存樣本資料與標籤。
2.變數在計算過程中,可以改變其值,通常用來儲存模型的引數。
注意事項:
變數必須要初始化後才能使用。
佔位符的資料,需要使用實際值進行填充。
1.在我們使用tf.variable定義變數時,每次執行,就會建立乙個新的變數。有時,我們可能並不總是想建立新的變數,而是可以復用已經建立的變數。這樣,就可以實現變數共享。
2.通過tf.variable_scope方法可以建立變數作用域,通過該作用域獲取變數時,會進行檢查。因此,我們就能夠控制建立變數或者復用已經存在(建立好)的變數。
注意事項:
通過變數作用域,就可以避免意外建立或者共享變數。
使用reuse引數來控制獲取變數的行為。該引數的意義如下:
預設為獲取新變數,當變數已經存在時,出錯。
tf.auto_reuse 當變數不存在時,建立變數,存在時,復用已經建立的變數。
true 復用變數,當變數不存在時出錯。
底層會使用作用網域名稱/變數名:0的方式來標記變數。
深度學習框架
近一年來,深度學習的風起雲湧,產生了許多令人興奮的成果,同時,深度學習框架也是百家爭鳴。經過這一年的觀察,tensorflow 似乎成為了一種潮流,並且越來越多的框架開始為 keras 提供支援,它可能會成為一種標準。今後選擇keras框架作為深度學習的目標。keras 被認為是構建神經網路的未來,...
深度學習初探(二)深度學習框架
theano 是最早的深度學習框架之一,是乙個基於 python 語言 定位底層運算的計算庫,theano 同時支援 gpu 和 cpu 運 算。由於theano 開發效率較低,模型編譯時間較長,同時開發人員轉投tensorflow 等原因,theano 目前已經停止維護 scikit learn ...
TensorFlow深度學習框架
tensorflow支援python和c 兩種程式語言,再複雜的多層神經網路模型都可以用python來實現,如果業務使用其他程式設計也不用擔心,使用跨語言的grpc或者http服務也可以訪問使用tensorflow訓練好的智慧型模型。tensorflow 是乙個採用資料流圖 data flow gr...