日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TensorFlow2-神经网络基础

發(fā)布時間:2024/4/11 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TensorFlow2-神经网络基础 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

TensorFlow2神經(jīng)網(wǎng)絡基礎

文章目錄

  • TensorFlow2神經(jīng)網(wǎng)絡基礎
    • 數(shù)據(jù)加載
    • 全連接神經(jīng)網(wǎng)絡
    • 誤差計算
    • 補充說明

數(shù)據(jù)加載

  • TensorFlow依托Keras,預先封裝了很多小型的數(shù)據(jù)集,可以通過接口下載并使用該數(shù)據(jù)集。包含boston_housing(波士頓房價回歸預測數(shù)據(jù)集)、cifar10(Cifar圖像分類數(shù)據(jù)集共10大類)、cifar100(Cifar圖像分類數(shù)據(jù)集共100小類)、mnist(手寫數(shù)字識別數(shù)據(jù)集)、fashion_mnist(常用品分類數(shù)據(jù)集)、imdb(電影情感評論文本分類數(shù)據(jù)集)。
  • 調(diào)用load_data方法TensorFlow會自動從Google下載暫存的數(shù)據(jù)集到本地(第一次運行,后面不再下載,需要科學上網(wǎng)),然后以numpy格式返回訓練集和測試集的x和y。
  • tf.data.Dataset
    • 在TensorFlow中,data模塊中的Dataset是一個很重要的對象,作為數(shù)據(jù)加載的接口。
    • Dataset對象的form_tensor_slices方法可以很方便地從numpy矩陣等加載數(shù)據(jù)并進行預處理(注意Dataset對象的使用必須先取得對應的迭代器)。
    • Dataset對象的shuffle方法可以很方便地打散數(shù)據(jù)(特征和標簽同步打散),一般只需要一個buffer_size參數(shù),該數(shù)值越大,混亂程度越大。
    • Dataset對象的map方法可以很方便地進行數(shù)據(jù)預處理或者數(shù)據(jù)增廣的操作,其功能類似于Python的map方法,傳入一個函數(shù)對象,對每個數(shù)據(jù)調(diào)用該函數(shù)進行處理。
    • Dataset對象的batch方法可以直接設定每次取出數(shù)據(jù)的batch_size(默認為1),這是最核心的功能。
    • Dataset對象的repeat方法可以指定迭代器迭代的次數(shù)(在Python中對可迭代對象一旦取完就會停止取數(shù)據(jù),但是訓練往往需要很多輪次),默認不指定repeat的參數(shù)則會一直迭代下去。

全連接神經(jīng)網(wǎng)絡

  • 說明
    • 經(jīng)典的神經(jīng)網(wǎng)絡結(jié)構(gòu)是由多個隱藏層的神經(jīng)元級聯(lián)形成的全連接神經(jīng)網(wǎng)絡,后來各類針對不同任務的神經(jīng)網(wǎng)絡結(jié)構(gòu)的設計都是基于全連接神經(jīng)網(wǎng)絡的思路,如計算機視覺的卷積神經(jīng)網(wǎng)絡、自然語言處理的循環(huán)神經(jīng)網(wǎng)絡等。對于全連接神經(jīng)元的神經(jīng)網(wǎng)絡,由于結(jié)構(gòu)固定,已經(jīng)做了一定程度的封裝。
  • tf.keras.layers.Dense(units)
    • 可以創(chuàng)建包含參數(shù)w和偏置b的一層全連接層網(wǎng)絡,units表示神經(jīng)元的數(shù)目。注意在創(chuàng)建Dense對象后,weights參數(shù)是默認沒有創(chuàng)建的,需要通過build方法創(chuàng)建,使用net實例進行運算時會自動檢查參數(shù),若沒有創(chuàng)建,則依據(jù)參與運算的數(shù)據(jù)自動創(chuàng)建weights。
  • tf.keras.Sequential
    • Sequential是用于線性堆疊多層網(wǎng)絡結(jié)構(gòu)的一個基礎容器,其會自動將輸入的張量流過多層得到輸出。

誤差計算

  • MSE均方差
    • 計算式為loss?=1N∑(y?out)2\operatorname{loss}=\frac{1}{N} \sum(y-o u t)^{2}loss=N1?(y?out)2,在TensorFlow中對這類簡單的誤差函數(shù)(損失函數(shù))進行了簡單封裝。MSE這類損失函數(shù)一般都要除以一個樣本量N,以保證求得的梯度值不會太大。
  • CrossEntropy交叉熵
    • 計算式為H(p,q)=?∑p(x)log?q(x)H(p, q)=-\sum p(x) \log q(x)H(p,q)=?p(x)logq(x),預測的q分布盡量逼近于真實的p分布,此時交叉熵函數(shù)值最小,故優(yōu)化該損失函數(shù)合理。在TensorFlow中,對交叉熵函數(shù)計算進行了封裝。

補充說明

  • 本文主要針對TensorFlow2中數(shù)據(jù)加載和誤差計算的接口進行了簡略說明。
  • 博客同步至我的個人博客網(wǎng)站,歡迎瀏覽其他文章。
  • 如有錯誤,歡迎指正。

總結(jié)

以上是生活随笔為你收集整理的TensorFlow2-神经网络基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。