2023學(xué)年完整公開課版Tensorflow介紹_第1頁
2023學(xué)年完整公開課版Tensorflow介紹_第2頁
2023學(xué)年完整公開課版Tensorflow介紹_第3頁
2023學(xué)年完整公開課版Tensorflow介紹_第4頁
2023學(xué)年完整公開課版Tensorflow介紹_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Tensorflow介紹1.

掌握Tensorflow基本概念1.Tensorflow介紹

2.Tensorflow基本基本概念TensorFlow?是一個使用數(shù)據(jù)流圖進行數(shù)值計算的開源軟件庫。圖中的節(jié)點代表數(shù)學(xué)運算,而圖中的邊則代表在這些節(jié)點之間傳遞的多維數(shù)組(張量)。這種靈活的架構(gòu)可讓您使用一個API將計算工作部署到桌面設(shè)備、服務(wù)器或者移動設(shè)備中的一個或多個CPU或GPU。

TensorFlow最初是由Google機器智能研究部門的GoogleBrain團隊中的研究人員和工程師開發(fā)的,用于進行機器學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)研究,但它是一個非?;A(chǔ)的系統(tǒng),因此也可以應(yīng)用于眾多其他領(lǐng)域。TensorFlow可以靈活適應(yīng)不同的使用規(guī)模,既支持探索性研究,也支持大規(guī)模生產(chǎn)用途。TensorFlow目前最新的版本是1.4Tensorflow介紹我們推薦使用GPU運行tensorflow,因為GPU比CPU更適合張量的運算,效率成倍數(shù)提升。但是并不是每臺設(shè)備都配備GPU,沒有GPU的設(shè)備可以使用CPU版本。Tensorflow支持多種語言的,推薦使用python做為API,因為它代碼簡潔,容易上手,最重要的是能混合其他DL庫一塊使用。Tensorflow需要python3.5以上的運行環(huán)境,如果沒有請下載安裝。安裝有python環(huán)境的執(zhí)行pipinstalltensorflow或者pipinstalltensorflow-gpu即可進行安裝,安裝過程會自動下載安裝所需要的依賴庫。有線性代數(shù)與矩陣,概率論,多重積分,級數(shù)變換,信息論等工科基礎(chǔ)。了解前饋神經(jīng)網(wǎng)絡(luò)(BP),卷積神經(jīng)網(wǎng)絡(luò)(CNN),循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)算法。Tensorflow安裝及編程基礎(chǔ)Tensor(張量):張量是tensorflow核心的基本數(shù)據(jù)單元。

張量是一個多維數(shù)組。

rank:張量的秩,就是張量的維數(shù)。

shape:描述張量的形狀。計算方法:去掉中括號,逗號+1就是數(shù)組的值。數(shù)組的的長度是rank。舉例:

[1.,2.,3.]#arank1tensor;avectorwithshape[3][[1.,2.,3.],[4.,5.,6.]]#arank2tensor;amatrixwithshape[2,3][[[1.,2.,3.]],[[7.,8.,9.]]]#arank3tensorwithshape[2,1,3]Tensor(張量)計算圖是由一系列的tensorflow的操作組成,并且這些操作編配成計算圖的節(jié)點。站在計算圖的角度,你可以認為tensorflow程序是有相對獨立的兩部分組成。構(gòu)建計算圖、運行計算圖。node1=tf.constant(3.0,dtype=tf.float32)node2=tf.constant(4.0)print(node1,node2)打印結(jié)果:Tensor("Const:0",shape=(),dtype=float32)Tensor("Const_1:0",shape=(),dtype=float32)TheComputationalGraph(計算圖)Session:囊括tensorflow運行時候的狀態(tài),運行控制。sess=tf.Session()print(sess.run([node1,node2]))結(jié)果:[3.0,4.0]我們當(dāng)然可以寫出更復(fù)雜的計算圖。from__future__importprint_functionnode3=tf.add(node1,node2)print("node3:",node3)print("sess.run(node3):",sess.run(node3))打印出兩行:node3:Tensor("Add:0",shape=(),dtype=float32)sess.run(node3):7.0Session(會話)placeholders:在計算圖中,能夠接受額外輸入,通常情況下,提供的值晚于定義。a=tf.placeholder(tf.float32)b=tf.placeholder(tf.float32)adder_node=a+b以上三行代碼,很像一個函數(shù),或者是lambda表達式。我們可以通過feed_dict參數(shù)去填充一些具體的值。print(sess.run(adder_node,{a:3,b:4.5}))print(sess.run(adder_node,{a:[1,3],b:[2,4]}))輸出結(jié)果:7.5[3.7.]placeholders(占位符)Variables:是在模型訓(xùn)練中,允許修改的量。相同的輸入,通過修改變量得到不同輸出值。在線性模型中用來描述權(quán)重和偏移量。W=tf.Variable([.3],dtype=tf.float32)b=tf.Variable([-.3],dtype=tf.float32)x=tf.placeholder(tf.float32)linear_model=W*x+b變量必須顯示申明,使用:init=tf.global_variables_initializer()//初始化全局變量sess.run(init)print(sess.run(linear_model,{x:[1,2,3,4]}))Variables(變量)

tf.train是用于訓(xùn)練模型的低級API。最簡單的優(yōu)化方式,梯度下降。就是求損失函數(shù)的導(dǎo)數(shù),每一步都會逼近損失函數(shù)最小值。當(dāng)然tensorflow提供tf.gradients自動求導(dǎo),自動優(yōu)化損失函數(shù)。optimizer=tf.train.GradientDescentOptimizer(0.01)train=optimizer.minimize(loss)sess.run(init)#resetvaluestoincorrectdefaults.foriinrange(1000):sess.run(train,{x:[1,2,3,4],y:[0,-1,-2,-3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論