色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在PyTorch中使用ReLU激活函數的例子

給予聽風 ? 來源:給予聽風 ? 作者:給予聽風 ? 2022-07-06 15:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

PyTorch已為我們實現了大多數常用的非線性激活函數,我們可以像使用任何其他的層那樣使用它們。讓我們快速看一個在PyTorch中使用ReLU激活函數的例子:

在上面這個例子中,輸入是包含兩個正值、兩個負值的張量,對其調用ReLU函數,負值將取為0,正值則保持不變。

現在我們已經了解了構建神經網絡架構的大部分細節,我們來構建一個可用于解決真實問題的深度學習架構。上一章中,我們使用了簡單的方法,因而可以只關注深度學習算法如何工作。后面將不再使用這種方式構建架構,而是使用PyTorch中正常該用的方式構建。

1.PyTorch構建深度學習算法的方式

PyTorch中所有網絡都實現為類,創建PyTorch類的子類要調用nn.Module,并實現__init__和forward方法。在init方法中初始化層,這一點已在前一節講過。在forward方法中,把輸入數據傳給init方法中初始化的層,并返回最終的輸出。非線性函數經常被forward函數直接使用,init方法也會使用一些。下面的代碼片段展示了深度學習架構是如何用PyTrorch實現的:

如果你是Python新手,上述代碼可能會比較難懂,但它全部要做的就是繼承一個父類,并實現父類中的兩個方法。在Python中,我們通過將父類的名字作為參數傳入來創建子類。init方法相當于Python中的構造器,super方法用于將子類的參數傳給父類,我們的例子中父類就是nn.Module。

2.不同機器學習問題的模型架構

待解決的問題種類將基本決定我們將要使用的層,處理序列化數據問題的模型從線性層開始,一直到長短期記憶(LSTM)層。基于要解決的問題類別,最后一層是確定的。使用機器學習或深度學習算法解決的問題通常有三類,最后一層的情況通常如下。

·對于回歸問題,如預測T恤衫的銷售價格,最后使用的是有一個輸出的線性層,輸出值為連續的。

·將一張給定的圖片歸類為T恤衫或襯衫,用到的是sigmoid激活函數,因為它的輸出值不是接近1就是接近0,這種問題通常稱為二分類問題。

·對于多類別分類問題,如必須把給定的圖片歸類為T恤、牛仔褲、襯衫或連衣裙,網絡最后將使用softmax層。讓我們拋開數學原理來直觀理解softmax的作用。舉例來說,它從前一線性層獲取輸入,并輸出給定數量樣例上的概率。在我們的例子中,將訓練它預測每個圖片類別的4種概率。記住,所有概率相加的總和必然為1。

3.損失函數

一旦定義好了網絡架構,還剩下最重要的兩步。一步是評估網絡執行特定的回歸或分類任務時表現的優異程度,另一步是優化權重。

優化器(梯度下降)通常接受一個標量值,因而loss函數應生成一個標量值,并使其在訓練期間最小化。某些用例,如預測道路上障礙物的位置并判斷是否為行人,將需要兩個或更多損失函數。即使在這樣的場景下,我們也需要把損失組合成一個優化器可以最小化的標量。最后一章將詳細討論把多個損失值組合成一個標量的真實例子。

上一章中,我們定義了自己的loss函數。PyTorch提供了經常使用的loss函數的實現。我們看看回歸和分類問題的loss函數。

回歸問題經常使用的loss函數是均方誤差(MSE)。它和前面一章實現的loss函數相同。可以使用PyTorch中實現的loss函數,如下所示:

對于分類問題,我們使用交叉熵損失函數。在介紹交叉熵的數學原理之前,先了解下交叉熵損失函數做的事情。它計算用于預測概率的分類網絡的損失值,損失總和應為1,就像softmax層一樣。當預測概率相對正確概率發散時,交叉熵損失增加。例如,如果我們的分類算法對圖3.5為貓的預測概率值為0.1,而實際上這是只熊貓,那么交叉熵損失就會更高。如果預測的結果和真實標簽相近,那么交叉熵損失就會更低。

圖3.5

下面是用Python代碼實現這種場景的例子。

為了在分類問題中使用交叉熵損失,我們真得不需要擔心內部發生的事情——只要記住,預測差時損失值高,預測好時損失值低。PyTorch提供了loss函數的實現,可以按照如下方式使用。

PyTorch包含的其他一些loss函數如表3.1所示。

表3.1

L1 loss

通常作為正則化器使用;第4章將進一步講述

MSE loss

均方誤差損失,用于回歸問題的損失函數

Cross-entropy loss

交叉熵損失,用于二分類和多類別分類問題

NLL Loss

用于分類問題,允許用戶使用特定的權重處理不平衡數據集

NLL Loss2d

用于像素級分類,通常和圖像分割問題有關

4.優化網絡架構

計算出網絡的損失之后,需要優化權重以減少損失,并改善算法準確率。簡單起見,讓我們看看作為黑盒的優化器,它們接受損失函數和所有的學習參數,并微量調整來改善網絡性能。PyTorch提供了深度學習中經常用到的大多數優化器。如果大家想研究這些優化器內部的動作,了解其數學原理,強烈建議瀏覽以下博客:

PyTorch提供的一些常用的優化器如下:

·ADADELTA

·Adagrad

·Adam

·SparseAdam

·Adamax

·ASGD

·LBFGS

·RMSProp

·Rprop

·SGD

最后歡迎大家一起討論,共同進步,共同學習

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4379

    瀏覽量

    64758
  • python
    +關注

    關注

    56

    文章

    4827

    瀏覽量

    86644
  • pytorch
    +關注

    關注

    2

    文章

    809

    瀏覽量

    13922
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    利用Arm Kleidi技術實現PyTorch優化

    PyTorch 是一個廣泛應用的開源機器學習 (ML) 庫。近年來,Arm 與合作伙伴通力協作,持續改進 PyTorch 的推理性能。本文將詳細介紹如何利用 Arm Kleidi 技術提升 Arm
    的頭像 發表于 12-23 09:19 ?1041次閱讀
    利用Arm Kleidi技術實現<b class='flag-5'>PyTorch</b>優化

    AI模型部署邊緣設備的奇妙之旅:目標檢測模型

    。 總的來說,Leaky ReLU是一個簡單而有效的激活函數,它可以改善某些情況下傳統ReLU的局限性。然而,選擇
    發表于 12-19 14:33

    PyTorch 2.5.1: Bugs修復版發布

    ? 一,前言 深度學習框架的不斷迭代中,PyTorch 社區始終致力于提供更穩定、更高效的工具。最近,PyTorch 2.5.1 版本正式發布,這個版本主要針對 2.5.0 中發現的問題進行了修復
    的頭像 發表于 12-03 16:11 ?1607次閱讀
    <b class='flag-5'>PyTorch</b> 2.5.1: Bugs修復版發布

    PyTorch 數據加載與處理方法

    PyTorch 是一個流行的開源機器學習庫,它提供了強大的工具來構建和訓練深度學習模型。構建模型之前,一個重要的步驟是加載和處理數據。 1. PyTorch 數據加載基礎
    的頭像 發表于 11-05 17:37 ?920次閱讀

    使用PyTorch英特爾獨立顯卡上訓練模型

    PyTorch 2.5重磅更新:性能優化+新特性》中的一個新特性就是:正式支持英特爾獨立顯卡上訓練模型!
    的頭像 發表于 11-01 14:21 ?2029次閱讀
    使用<b class='flag-5'>PyTorch</b><b class='flag-5'>在</b>英特爾獨立顯卡上訓練模型

    Pytorch深度學習訓練的方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學習訓練。
    的頭像 發表于 10-28 14:05 ?645次閱讀
    <b class='flag-5'>Pytorch</b>深度學習訓練的方法

    反向電流應用中使用比較器

    電子發燒友網站提供《反向電流應用中使用比較器.pdf》資料免費下載
    發表于 09-19 12:50 ?0次下載
    <b class='flag-5'>在</b>反向電流應用<b class='flag-5'>中使</b>用比較器

    stuido中使用hal函數使用tim中斷使能,程序進b Infinite_Loop,為什么?

    stuido中使用hal函數使用tim中斷使能,導致程序進 b Infinite_Loop。
    發表于 09-13 07:21

    基于Pytorch訓練并部署ONNX模型TDA4應用筆記

    電子發燒友網站提供《基于Pytorch訓練并部署ONNX模型TDA4應用筆記.pdf》資料免費下載
    發表于 09-11 09:24 ?0次下載
    基于<b class='flag-5'>Pytorch</b>訓練并部署ONNX模型<b class='flag-5'>在</b>TDA4應用筆記

    pytorch怎么pycharm中運行

    第一部分:PyTorch和PyCharm的安裝 1.1 安裝PyTorch PyTorch是一個開源的機器學習庫,用于構建和訓練神經網絡。要在PyCharm中使
    的頭像 發表于 08-01 16:22 ?2493次閱讀

    pycharm如何調用pytorch

    與PyCharm結合使用,可以提高開發效率和代碼質量。 安裝PyTorch 2.1 檢查Python版本 安裝PyTorch之前,請確保您的Python版本為3.6或更高。可以通過以下命令檢查
    的頭像 發表于 08-01 15:41 ?1204次閱讀

    pytorch環境搭建詳細步驟

    PyTorch作為一個廣泛使用的深度學習框架,其環境搭建對于從事機器學習和深度學習研究及開發的人員來說至關重要。以下將介紹PyTorch環境搭建的詳細步驟,包括安裝Anaconda、配置清華鏡像源
    的頭像 發表于 08-01 15:38 ?1838次閱讀

    pytorch和python的關系是什么

    PyTorch已經成為了一個非常受歡迎的框架。本文將介紹PyTorch和Python之間的關系,以及它們深度學習領域的應用。 Python簡介 Python是一種高級、解釋型、通用的編程語言,由Guido van Rossu
    的頭像 發表于 08-01 15:27 ?3259次閱讀

    PyTorch深度學習開發環境搭建指南

    PyTorch作為一種流行的深度學習框架,其開發環境的搭建對于深度學習研究者和開發者來說至關重要。Windows操作系統上搭建PyTorch環境,需要綜合考慮多個方面,包括軟件安裝、環境配置以及版本兼容性等。以下是一個詳細的
    的頭像 發表于 07-16 18:29 ?2473次閱讀

    PyTorch中搭建一個最簡單的模型

    PyTorch中搭建一個最簡單的模型通常涉及幾個關鍵步驟:定義模型結構、加載數據、設置損失函數和優化器,以及進行模型訓練和評估。
    的頭像 發表于 07-16 18:09 ?2801次閱讀
    主站蜘蛛池模板: 欧美阿v在线免播播放 | 99久久999久久久综合精品涩 | 国产亚洲精品久久孕妇呦呦你懂 | 嘿嘿视频在线观看 成人 | 最近在线视频观看2018免费 | 永久免费看A片无码网站四虎 | 舔1V1高H糙汉 | 69久久国产精品热88人妻 | 久久久久久久尹人综合网亚洲 | 国产女人乱人伦精品一区二区 | 国产一区二区不卡老阿姨 | 中文天堂www资源 | 果冻传媒妈妈要儿子 | 欧洲精品不卡1卡2卡三卡四卡 | 亚洲春色AV无码专区456 | 北条麻妃夫の友人196 | 蕾丝边娱乐网 | 外国三级片名 | 芳草地在线观看免费视频 | 人妻无码AV中文系列 | 曰本aaaaa毛片午夜网站 | 看美女大腿中间的部分 | 久久只精品99品免费久 | 亚洲精品国产品国语在线试看 | 69久久国产露脸精品国产 | 秋霞av伦理片在线观看 | 亚洲精品有码在线观看 | YY8848高清私人影院 | 婷婷精品国产亚洲AV在线观看 | 快播在线电影网站 | 国产精品亚洲AV色欲在线观看 | 在线自拍亚洲视频欧美 | 免费撕开胸罩吮胸视频 | 精品麻豆一卡2卡三卡4卡乱码 | 日本精品久久无码影院 | 污污内射在线观看一区二区少妇 | 国产精品亚洲二线在线播放 | 波多野结衣的AV一区二区三区 | 老司机福利视频一区在线播放 | 男人扒开添女人下部口述 | 久久天天躁狠狠躁夜夜呲 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品