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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

用PyTorch、TensorFlow框架掌握深度學習

新機器視覺 ? 來源:CSDN ? 作者:Martin Heller ? 2022-07-05 15:31 ? 次閱讀

如果你需要深度學習模型,那么 PyTorch 和 TensorFlow 都是不錯的選擇。

并非每個回歸或分類問題都需要通過深度學習來解決。甚至可以說,并非每個回歸或分類問題都需要通過機器學習來解決。畢竟,許多數據集可以用解析方法或簡單的統計過程進行建模。

另一方面,在某些情況下,深度學習或深度遷移學習可以幫助你訓練更準確的模型。在這些情況下,你可以考慮使用 PyTorch 和 TensorFlow ,特別是如果你所需的訓練模型與其中一個框架模型庫中的模型類似。

【PyTorch】

PyTorch 建立在舊版的 Torch 和 Caffe2 框架之上。如其名所示,PyTorch采用了腳本語言 Python,并利用改版后的Torch C/CUDA作為后端。PyTorch 項目還融入了 Caffe2 的生產功能。

PyTorch 被稱為“擁有強大 GPU 加速功能的 Python 版 Tensor 和動態神經網絡。”這意味著什么?

Tensor(張量)是一種物理學和工程學中廣泛使用的數學結構。2 階的 Tensor 是一種特殊的矩陣;而對向量和張量取內積就可以得到另一個擁有新長度和新方向的向量。TensorFlow 這個名字就來自張量在其網絡模型中流動的方式。NumPy 也用到了 Tensor,名為 ndarray 。

GPU 加速是大多數現代深度神經網絡框架的基礎。動態神經網絡是一種特殊的神經網絡,每次迭代都會發生變化,例如,PyTorch 模型可以在訓練期間通過添加和刪除隱藏層,來提高其準確性和通用性。

PyTorch 會在每個迭代中實時重建計算圖。相比之下,在默認情況下TensorFlow 會創建一個計算圖,優化圖代碼以提高性能,然后訓練模型。

雖然急切執行模式在 TensorFlow 中剛剛出現,但其是 PyTorch 唯一的運行方式:API 在被調用時會立即執行,而不會被添加到計算圖稍后再運行。這樣可能看起來計算效率會低一些,但是 PyTorch 設計的工作方式就是如此,而且實際上在訓練或預測速度方面并不遜色。

PyTorch 通過集成加速庫,比如英特爾 MKL、Nvidia cuDNN 和 NCCL 等,最大限度地提升速度。其核心CPU、GPU Tensor和神經網絡后端TH(Torch)、THC(Torch CUDA)、THNN(Torch神經網絡)和THCUNN(Torch CUDA神經網絡)等,都是使用 C99 API 編寫的單獨庫。同時,PyTorch 并不是整體式 C++ 框架的 Python 綁定。其目的是與Python 深度集成,并允許使用其他 Python 庫。

【Fast.ai與fastai庫】

Fast.ai 是一家小公司,他們通過為編程人員提供免費課程、軟件庫、尖端研究和社區,降低深度學習的難度,并吸引更多各種背景的人。

fastai 庫基于 PyTorch,通過現代化的最佳實踐簡化了快速準確的神經網絡訓練。它基于對 Fast.ai 深度學習最佳實踐的研究,提供了包括視覺、文本、表格和協作(協作過濾)模型在內的“開箱即用”支持。

fastai 庫與 PyTorch 的關系非常類似于 Keras 與 TensorFlow 。但明顯的區別在于,PyTorch 沒有正式支持 fastai 。

【TensorFlow】

TensorFlow 是眾多優秀的機器學習和深度學習框架中最成熟的一個,也是研究論文中引用最多的一個(即使不算來自谷歌員工的引用也是第一),而且在生產中的使用效果也很好。它可能不是最容易學習的框架,但隨著 TensorFlow 2的到來,TensorFlow 的門檻也沒有 2016 年那般高了。TensorFlow 是許多 Google 服務的基礎。

TensorFlow 2.0 官網對該項目的描述為:“端到端的開源機器學習平臺。”,谷歌通過“平臺”提供了一個包含工具、庫以及社區資源的全方位生態系統,研究人員可以利用這個平臺“推動機器學習達到最高水準”,而開發人員則可以利用這個平臺輕松構建和部署基于 AI 的應用程序。

TensorFlow 2.0 有四個主要部分組成:

TensorFlow 核心,一個用于開發和培訓機器學習模型的開源庫;

TensorFlow.js,一個在 Web 瀏覽器和 Node.js 上訓練和部署模型的 JavaScript庫;

TensorFlow Lite,一個輕量級庫,用于在移動和嵌入式設備上部署模型;

TensorFlow Extended,是一個端到端平臺,用于在大型生產環境中準備數據、培訓、驗證和部署模型。

TensorFlow 2.0 的重點放在了簡單性和易用性上,其這個版本擁有一系列的新功能,包括急切執行、直觀的高級 API 以及可以在任何平臺上構建模型等。急切執行意味著 TensorFlow 代碼定義好就可以運行,而 TensorFlow 最初的模式需要將節點和邊添加到計算圖中,稍后再在會話中運行。

高效地使用 TensorFlow 2.0 方法是,使用高級的 tf.keras API(而不是舊的低級 AP,這樣可以大大減少需要編寫的代碼量。只需要使用一行代碼就可以構建 Keras 神經網絡中的一層,如果利用循環結構,則可以進一步減少代碼量。

TensorFlow.js 是一個利用 JavaScript 開發和訓練機器學習模型,并在瀏覽器或 Node.js 中部署模型的庫。在 TensorFlow.js、ml5.js 之上還有一個高級庫,它隱藏了張量和優化器的復雜性。

TensorFlow.js 可以通過瀏覽器支持移動設備和桌面設備。如果你的瀏覽器支持 WebGL 著色器 API,TensorFlow.js 可以利用它們發揮 GPU 的優勢。與CPU 后端相比,這可以為你提供高達 100 倍的加速。在擁有 GPU 的計算機上,TensorFlow.js 可以非常快速地在瀏覽器中運行。

TensorFlow Lite 是一個用于移動設備的開源深度學習框架。目前它可以為iOSARM64 和 Raspberry Pi 構建模型。TensorFlow Lite 有兩個主要組件:解釋器和轉換器。解釋器可以在許多不同的硬件類型上運行經過特別優化的模型。轉換器可以將 TensorFlow 模型轉換為高效的形式供解釋器使用,還可引入優化以縮小可執行文件大小并提高性能。

TensorFlow Extended(TFX)是用于部署生產機器學習管道的端到端平臺。在你訓練好一個模型后,就需要考慮這方面的工作了。管道包括數據驗證、功能工程、建模、模型評估、服務推斷以及管理在線、原生移動和 JavaScript 目標的部署。

【Keras】

Keras 是用于構建神經網絡模型的高級前端規范和實現。Keras 支持三種后端深度學習框架:TensorFlow、CNTK 和 Theano。目前亞馬遜正在全力為Keras 開發 MXNet 后端。你也可以使用 PlaidML(一個獨立的項目)作為Keras 的后端,利用 PlaidML 的 OpenCL 支持所有 GPU 的優勢。

TensorFlow是Keras的默認后端,在很多情況下我們也推薦使用TensorFlow,包括通過 CUDA 和 cuDNN 在 Nvidia 硬件上實現 GPU 加速,以及利用 Google Cloud 中的 Tensor 處理單元加速等。Keras 除了可以單獨安裝之外,TensorFlow 還包含一個內部 tf.keras 類。如上所述,這是TensorFlow 的首選高級前端。

Keras 提供了一個高級環境,在其 Sequential 模型中向神經網絡添加一層的代碼量可以縮減到一行,編譯和訓練模型也分別只需一個函數調用。如果有需要,Keras 也允許你通過其 Model 或函數式 API 接觸較低層上的代碼。

你還可以利用 Keras 的子類 keras.Model 進一步深入,一直到 Python 代碼級別,直到找到你喜歡的功能 API 。另外,它還有 Scikit-learn API,因此你可以利用 Scikit-learn 網格搜索在 Keras 模型中執行超參數優化。

【深度學習與遷移學習】

PyTorch 和 TensorFlow 都支持深度學習和遷移學習。遷移學習(有時稱為自定義機器學習)可以從預先訓練好的神經網絡模型開始,只需為你的數據定制最終層即可。

從頭開始訓練深度神經網絡非常耗時,并且需要大量標記數據。遷移學習花費的時間更少,而且需要的新標記樣本更少,但只有在模型已預先訓練好的情況下,你才可以使用遷移學習。幸運的是,所有主流的深度學習框架都提供了某種形式的模型庫供你挑選模型。

圖像分類中使用的卷積神經網絡(也稱為 ConvNets 或 CNN )是遷移學習的代表。PyTorch 和 TensorFlow 都提供了有關如何使用遷移學習來訓練卷積神經網絡的教程。TensorFlow 的遷移學習教程演示了如何使用遷移學習提取和微調特征。PyTorch 的遷移學習教程也演示了相同的兩種方法。

以下是這些筆記中提到的一個關鍵點:

實際上,很少有人從頭開始訓練整個卷積網絡(利用隨機的初始化),因為你很難擁有足夠大的數據集。相反,一般人們會在非常大的數據集(例如ImageNet,其中包含 1,000 個類別的 120 萬個圖像)上預先訓練ConvNet,然后以 ConvNet 為起點或通過 ConvNet 提取感興趣的特征。

【如何選擇深度學習框架】

在 PC 和 Mac 出現的早期,人們經常會問我應該買哪個。其實,這個問題沒有正確的答案,因為這個問題本身就是一個錯誤,或者我應該說“那要看你想用這臺電腦干什么”,但一般在我問他們幾個問題后,他們就能找到自己的答案,比如“你想用這臺電腦干什么?”,或者“你有什么不可或缺的應用嗎?”

同樣,“我應該使用哪種深度學習框架?”也算不上一個真正的問題。這個問題同樣取決于你自己,比如首先想一想“你想用你的模型干什么?”,然后再深入研究你可以用于訓練的數據類型。

如果你不熟悉深度學習,那么我建議你先閱讀 TensorFlow 2 中的 Keras 教程,以及 PyTorch 中的 fastai 教程。即使不深入了解 TensorFlow 和PyTorch 的低級 API ,你也有很多東西需要學習,而且你應該對這兩種方法都有所了解。然后,你可能會意識到這兩個框架的確有多相似之處,而且它們賴以生存的概念和技術都是相同的。

在很多情況下,選用哪種框架無關緊要:你會發現每個框架可用的模型基本相同。在某些特定的情況下,可能某個框架優于另一個——至少在當前版本是如此。你可能還會發現,學習其中某一個更為容易,原因可能是框架中的某些基本功能,也有可能是教程的質量。

審核編輯:郭婷


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

    關注

    56

    文章

    4792

    瀏覽量

    84628
  • 深度學習
    +關注

    關注

    73

    文章

    5500

    瀏覽量

    121113
  • pytorch
    +關注

    關注

    2

    文章

    807

    瀏覽量

    13200

原文標題:掌握深度學習,為什么要用PyTorch、TensorFlow框架?

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Pytorch深度學習訓練的方法

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

    pytorch環境搭建詳細步驟

    PyTorch作為一個廣泛使用的深度學習框架,其環境搭建對于從事機器學習深度
    的頭像 發表于 08-01 15:38 ?797次閱讀

    pytorch和python的關系是什么

    PyTorch已經成為了一個非常受歡迎的框架。本文將介紹PyTorch和Python之間的關系,以及它們在深度學習領域的應用。 Pytho
    的頭像 發表于 08-01 15:27 ?1888次閱讀

    NVIDIA推出全新深度學習框架fVDB

    在 SIGGRAPH 上推出的全新深度學習框架可用于打造自動駕駛汽車、氣候科學和智慧城市的 AI 就緒型虛擬表示。
    的頭像 發表于 08-01 14:31 ?591次閱讀

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

    PyTorch作為一種流行的深度學習框架,其開發環境的搭建對于深度學習研究者和開發者來說至關重要
    的頭像 發表于 07-16 18:29 ?999次閱讀

    TensorFlow是什么?TensorFlow怎么

    TensorFlow是由Google開發的一個開源深度學習框架,它允許開發者方便地構建、訓練和部署各種復雜的機器學習模型。
    的頭像 發表于 07-12 16:38 ?658次閱讀

    基于PyTorch的卷積核實例應用

    深度學習和計算機視覺領域,卷積操作是一種至關重要的技術,尤其在圖像處理和特征提取方面發揮著核心作用。PyTorch作為當前最流行的深度學習
    的頭像 發表于 07-11 15:19 ?447次閱讀

    pytorch中有神經網絡模型嗎

    當然,PyTorch是一個廣泛使用的深度學習框架,它提供了許多預訓練的神經網絡模型。 PyTorch中的神經網絡模型 1. 引言
    的頭像 發表于 07-11 09:59 ?692次閱讀

    PyTorch的介紹與使用案例

    PyTorch是一個基于Python的開源機器學習庫,它主要面向深度學習和科學計算領域。PyTorch由Meta Platforms(原Fa
    的頭像 發表于 07-10 14:19 ?392次閱讀

    tensorflowpytorch哪個更簡單?

    TensorFlowPyTorch都是用于深度學習和機器學習的開源框架
    的頭像 發表于 07-05 09:45 ?847次閱讀

    tensorflowpytorch哪個好

    tensorflowpytorch都是非常不錯的強大的框架TensorFlow還是PyTorch哪個更好取決于您的具體需求,以下是關于這
    的頭像 發表于 07-05 09:42 ?675次閱讀

    keras模型轉tensorflow session

    和訓練深度學習模型。Keras是基于TensorFlow、Theano或CNTK等底層計算框架構建的。TensorFlow是一個開源的機器
    的頭像 發表于 07-05 09:36 ?511次閱讀

    PyTorch如何訓練自己的數據集

    PyTorch是一個廣泛使用的深度學習框架,它以其靈活性、易用性和強大的動態圖特性而聞名。在訓練深度學習
    的頭像 發表于 07-02 14:09 ?1640次閱讀

    TensorFlowPyTorch深度學習框架的比較與選擇

    深度學習作為人工智能領域的一個重要分支,在過去十年中取得了顯著的進展。在構建和訓練深度學習模型的過程中,深度
    的頭像 發表于 07-02 14:04 ?953次閱讀

    谷歌模型框架是什么軟件?谷歌模型框架怎么

    谷歌模型框架通常指的是谷歌開發的用于機器學習和人工智能的軟件框架,其中最著名的是TensorFlowTensorFlow是一個開源的機器
    的頭像 發表于 03-01 16:25 ?870次閱讀
    主站蜘蛛池模板: 桃花色影院| 色欲精品国产AV久久久| 女人高潮了拔出来了她什么感觉 | ai换脸女明星被躁在线观看免费| 97成人碰碰在线人妻少妇| xxxx俄罗斯1819| 国产精品18久久久久久白浆.| 国产在线精彩亚洲| 久热在线这里只有精品7 | 欧美三级黄色大片| 色欲AV亚洲情无码AV蜜桃| 亚洲AV无码乱码国产麻豆P | 91视频夜色| 高清国语自产拍在线| 国产中的精品AV一区二区| 就操成人网| 日韩欧美一区二区中文字幕| 亚洲AV无码乱码国产麻豆穿越| 正在播放黑人杂交派对卧槽| 把手戳进美女尿口里动态图| 国产美女影院| 蜜柚免费视频高清观看在线| 色多多涩涩屋下载软件| 亚洲一级特黄| 波多野结衣教师系列6| 健身房被教练啪到腿软H| 女女破视频在线观看| 午夜理伦片免费| 影音先锋av色咪影院| xx69美国| 黄色三级图片| 轻点灬大ji巴太粗太双性高h| 亚洲AV久久久噜噜噜久久| 99福利视频| 国产专区_爽死777| 青柠在线观看视频在线高清完整| 亚洲精品国产品国语在线试看| 99精品久久精品一区二区| 国产一区二区三区国产精品 | 欧美18在线| 亚洲精品久久区二区三区蜜桃臀|