深度學習框架Tensorflow

2022-08-26 09:30:08 字數 1743 閱讀 7215

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...