九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
DL:深度學(xué)習(xí)框架Pytorch、 Tensorflow各種角度對(duì)比

DL:深度學(xué)習(xí)框架Pytorch、 Tensorflow各種角度對(duì)比


???????

相關(guān)文章
DL:深度學(xué)習(xí)框架Pytorch、 Tensorflow各種角度對(duì)比
DL:深度學(xué)習(xí)框架Pytorch、 Tensorflow各種角度對(duì)比——案例代碼實(shí)現(xiàn)

先看兩個(gè)框架實(shí)現(xiàn)同樣功能的代碼

1、Pytorch、Tensorflow代碼比較

DL框架之PyTorch:PyTorch的簡(jiǎn)介、安裝、使用方法之詳細(xì)攻略
DL框架之Tensorflow:Tensorflow的簡(jiǎn)介、安裝、使用方法之詳細(xì)攻略
DL:深度學(xué)習(xí)框架Pytorch、 Tensorflow各種角度對(duì)比——案例代碼實(shí)現(xiàn)

2、Tensorflow(數(shù)據(jù)即是代碼,代碼就是數(shù)據(jù))+Pytorch(隨著進(jìn)展定義、更改和執(zhí)行節(jié)點(diǎn))

? ? ? ? ?兩種框架都在張量上運(yùn)行,把任何模型都看作一個(gè)有向非循環(huán)圖(DAG),但對(duì)于如何定義它們,PyTorchTensorFlow 區(qū)別很大。

  • 在便利性和上手難度上,PyTorch 遠(yuǎn)勝于TensorFlow
    (1)、原因是PyTorch 是基于動(dòng)態(tài)圖,而TensorFlow 是基于靜態(tài)計(jì)算圖,因此PyTorch 能隨時(shí)打印tensor的值,但是TensorFlow 需要設(shè)置回調(diào)的方法才能打印.
  • 如果想在TensorFlow 中想判斷一個(gè)變量的值的正確性,只能使用assert方法,這一點(diǎn)確實(shí)TensorFlow 不及PyTorch
  • 上手難度上PyTorch 也是比TensorFlow 容易。

? ? ? ? ?TensorFlow 遵循“數(shù)據(jù)即是代碼,代碼就是數(shù)據(jù)”的理念。在 TensorFlow 中,在跑模型之前會(huì)靜態(tài)的定義圖形。和外界的所有聯(lián)系都是通過(guò) tf.Session 對(duì)象和 tf.Placeholder,它們都是會(huì)在模型運(yùn)行被外部數(shù)據(jù)取代的張量。
? ? ? ? ?在 PyTorch 中,會(huì)更動(dòng)態(tài)一些:你可以隨著進(jìn)展定義、更改和執(zhí)行節(jié)點(diǎn),沒(méi)有特殊的會(huì)話(huà)界面或占位符。
? ? ? ? ?整體來(lái)看,PyTorch 和 Python 結(jié)合的更緊湊些,多數(shù)時(shí)候會(huì)感覺(jué)更原生。而在 TensorFlow 里寫(xiě)東西時(shí),有時(shí)你會(huì)覺(jué)得你的模型好像躲在一堵墻后面一樣,就通過(guò)墻上的幾個(gè)洞洞跟你交流。當(dāng)然了,這也看每個(gè)人的喜好和品味。?PyTorch 更適用于研究、愛(ài)好者和小規(guī)模項(xiàng)目的快速原型開(kāi)發(fā)。TensorFlow 更適合大規(guī)模部署,尤其是涉及跨平臺(tái)和嵌入式部署時(shí)。

3、TensorFlow —Google—像框架+靜態(tài)圖+公司好手,不易調(diào)試+額外概念(會(huì)話(huà)、圖、變量范圍、占位符),序列化更強(qiáng)大+支持移動(dòng)和嵌入式部署+大規(guī)模分布式+強(qiáng)大的可視化工具

? ? ? ?PyTorch 開(kāi)始會(huì)看起來(lái)很像一個(gè)框架。回想一下,編程框架會(huì)在特定領(lǐng)域?yàn)槲覀?span style="color:#f33b45;">提供有用的抽象,用它們可以很方便的解決具體問(wèn)題。而這是框架和庫(kù)的的本質(zhì)區(qū)別之處。

  • (1)、TensorFlow基于靜態(tài)圖:在 TensorFlow 中,圖結(jié)構(gòu)是靜態(tài)的,也就是說(shuō)圖在「編譯」之后再運(yùn)行。需要先構(gòu)建一個(gè)計(jì)算圖,構(gòu)建好了之后,這樣一個(gè)計(jì)算圖是不能夠變的了,然后再傳入不同的數(shù)據(jù)進(jìn)去,進(jìn)行計(jì)算。即固定了計(jì)算的流程,所以變得不太靈活。
    ? ? 1)、如果要去改變計(jì)算的邏輯,或者隨著時(shí)間變化的計(jì)算邏輯,這樣的動(dòng)態(tài)計(jì)算TensorFlow是實(shí)現(xiàn)不了的,或者是很麻煩。
  • (2)、TensorFlow不易調(diào)試:調(diào)試 TensorFlow 則沒(méi)這么容易。它有兩個(gè)選擇,一是從會(huì)話(huà)中請(qǐng)求你想檢查的變量,而是學(xué)會(huì)使用 TensorFlow 調(diào)試器(tfdbg)。
    ? ? 1)、TensorFlow 則不同,你可以選擇用一個(gè)叫 tfdbg 的特殊工具,它能讓你在運(yùn)行時(shí)評(píng)估 TensorFlow 表達(dá)式,瀏覽所有張量,在會(huì)話(huà)范圍中操作。當(dāng)然,無(wú)法用它調(diào)試 Python 代碼,因此無(wú)需單獨(dú)使用 pdb。
  • (3)、TensorFlow上手需學(xué)習(xí)額外概念—會(huì)話(huà)、圖、變量范圍、占位符:可以將 TensorFlow 看作是一種嵌入 Python 的編程語(yǔ)言。當(dāng)你編寫(xiě) TensorFlow 代碼時(shí),它會(huì)被 Python編譯成圖(graph),然后由 TensorFlow 執(zhí)行引擎運(yùn)行。
    ? ? 1)、所以,TensorFlow 還有一些需要額外學(xué)習(xí)的概念,比如會(huì)話(huà)(session)、圖、變量范圍、占位符。要讓基本的模型跑起來(lái)也需要更多樣板代碼。上手 TensorFlow 的時(shí)間肯定會(huì)比 PyTorch 長(zhǎng)。

  • (4)、TensorFlow的序列化更強(qiáng)大:TensorFlow 的 Saver 對(duì)象也很容易使用,而且也為檢查點(diǎn)提供了更多選擇。TensorFlow 在序列化方面的主要優(yōu)勢(shì)是整個(gè)計(jì)算圖都可以保存為 protocol buffer。這既包括參數(shù),也包括運(yùn)算。然后這個(gè)圖可以用其它支持的語(yǔ)言(C++、Java)加載。對(duì)于不支持 Python 的部署環(huán)境來(lái)說(shuō),這是非常重要的功能。而且理論上,這個(gè)功能也可以在你修改模型的源代碼,但又想運(yùn)行舊模型時(shí)為你提供幫助。

  • (5)、TensorFlow 支持移動(dòng)和嵌入式部署:但是在 TensorFlow 上,要將模型部署到安卓或 iOS 上需要不小的工作量,但至少你不必使用 Java 或 C++ 重寫(xiě)你模型的整個(gè)推理部分。
    ? ?1)、對(duì)于高性能服務(wù)器上的部署,還有 TensorFlow Serving 可用。除了性能方面的優(yōu)勢(shì),TensorFlow Serving 的另一個(gè)重要特性是無(wú)需中斷服務(wù),就能實(shí)現(xiàn)模型的熱插拔。

  • (6)、TensorFlow 的數(shù)據(jù)加載 比較復(fù)雜:我還沒(méi)找到 TensorFlow 的非常有用的數(shù)據(jù)加載工具(讀取器、隊(duì)列、隊(duì)列運(yùn)行器等等)。部分原因是要將你想并行運(yùn)行的所有預(yù)處理代碼加入到 TensorFlow 圖中并不總是那么簡(jiǎn)單直接(比如計(jì)算頻譜圖)。另外,TensorFlow 的 API 本身也更加冗長(zhǎng),學(xué)習(xí)起來(lái)也更難。

  • (7)、TensorFlow 的設(shè)備管理默認(rèn)即可:設(shè)備管理的無(wú)縫性能非常好,通常你不需要指定任何東西,因?yàn)槟J(rèn)的設(shè)置就很好。比如說(shuō),TensorFlow 假設(shè)如果存在可用的 GPU,你就希望在 GPU 上運(yùn)行。
    ? ? 1)、TensorFlow 設(shè)備管理的唯一缺陷是它會(huì)默認(rèn)占用所有可用的 GPU 上的所有內(nèi)存,即使真正用到的只有其中一個(gè)。但也有一種簡(jiǎn)單的解決方案,就是指定 CUDA_VISIBLE_DEVICES。有時(shí)候人們會(huì)忘記這一點(diǎn),就會(huì)讓 GPU 看起來(lái)很繁忙,盡管實(shí)際上它們啥也沒(méi)干。

  • (8)、TensorFlow的強(qiáng)大的可視化工具TensorBoard:TensorBoard 是一個(gè)用于可視化訓(xùn)練機(jī)器學(xué)習(xí)模型各個(gè)方面的工具。它是 TensorFlow 項(xiàng)目產(chǎn)出的最有用的功能之一。僅需在訓(xùn)練腳本中加入少許代碼,你就可以查看任何模型的訓(xùn)練曲線(xiàn)和驗(yàn)證結(jié)果。TensorBoard 作為一個(gè)網(wǎng)頁(yè)服務(wù)運(yùn)行,可以尤其方便地可視化存儲(chǔ)在 headless 節(jié)點(diǎn)上的結(jié)果。
    ? ?1)、展示模型圖形、繪制標(biāo)量變量、可視化分布和直方圖、可視化圖形 ?播放音頻

  • (9)、TensorFlow持支持分布式執(zhí)行、支持大規(guī)模分布式訓(xùn)練:在GPU的分布式計(jì)算上更為出色,在數(shù)據(jù)量巨大時(shí)效率比pytorch要高一些。

4、PyTorch —FaceBook—像庫(kù)+動(dòng)態(tài)圖+科研好手,易理解且易調(diào)試+結(jié)合NumPy更易上手,小規(guī)模項(xiàng)目???????+支持分布式執(zhí)行+暫時(shí)不支持分布式訓(xùn)練

? ? ? ?TensorFlow 給人的感覺(jué)更像是一個(gè)庫(kù),而非一個(gè)框架:所有的操作都為低階操作,你需要寫(xiě)很多樣板代碼,即便你可能并不想寫(xiě)(比如,一遍又一遍的定義方差和權(quán)重···)。

  • (1)、PyTorch基于動(dòng)態(tài)圖:創(chuàng)建和運(yùn)行計(jì)算圖可能是這兩個(gè)框架差別最大的地方。在 PyTorch 中,圖結(jié)構(gòu)是動(dòng)態(tài)的,也就是說(shuō)圖是在運(yùn)行時(shí)創(chuàng)建的。即就和python的邏輯是一樣的,要對(duì)變量做任何操作都是靈活的。
  • (2)、PyTorch容易理解且易調(diào)試: 簡(jiǎn)單的圖構(gòu)建方式更容易理解,但也許更重要的是也更容易調(diào)試。調(diào)試 PyTorch 代碼就跟調(diào)試 Python 代碼一樣。你可以使用 pdb,并且可以在任何地方設(shè)置斷點(diǎn)。
    ? ?1)、?PyTorch 的計(jì)算圖是在運(yùn)行時(shí)定義,可以用 pdb,ipdb,PyCharm 這些 Python 調(diào)試工具或者以前的可靠的打印語(yǔ)句也行。
  • (3)、PyTorch結(jié)合NumPy更易上手:PyTorch 本質(zhì)上是支持 GPU 的 NumPy 替代,配備了可用于構(gòu)建和訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的更高級(jí)的功能。所以如果你熟悉 NumPy、Python 和常用的深度學(xué)習(xí)抽象(卷積層、循環(huán)層、SGD 等),那 PyTorch 就很容易學(xué)。
  • (4)、PyTorch序列化的API比較簡(jiǎn)單:在這兩種框架中,保存和加載模型都很簡(jiǎn)單。PyTorch 有一個(gè)非常簡(jiǎn)單的 API,既可以保存模型的所有權(quán)重,也可以 pickle(加工)整個(gè)類(lèi)。

  • (5)、PyTorch不支持移動(dòng)和嵌入式部署:而包括 PyTorch 在內(nèi)的很多深度學(xué)習(xí)框架都沒(méi)有這個(gè)能力。

  • (6)、PyTorch的數(shù)據(jù)加載 API 設(shè)計(jì)得很好:數(shù)據(jù)集、采樣器和數(shù)據(jù)加載器的接口都是特定的。數(shù)據(jù)加載器可以接收一個(gè)數(shù)據(jù)集和一個(gè)采樣器,并根據(jù)該采樣器的調(diào)度得出數(shù)據(jù)集上的一個(gè)迭代器(iterator)。并行化數(shù)據(jù)加載很簡(jiǎn)單,只需為數(shù)據(jù)加載器傳遞一個(gè) num_workers 參數(shù)即可。

  • (7)、PyTorch 的設(shè)備管理必須指定:而在 PyTorch 中,你必須在啟用了 CUDA 之后明確地將所有東西移到 GPU 上。

  • (8)、PyTorch 的可視化只能調(diào)用matplotlib 、seaborn???????等庫(kù):目前 PyTorch 并沒(méi)有可以和 Tensorboard 匹敵的工具,不過(guò)倒是存在一些集成功能。雖然也能用一些繪圖工具比如 matplotlib 和 seaborn

  • (9)、PyTorch 支持支持分布式執(zhí)行、暫時(shí)不支持分布式訓(xùn)練

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
PyTorch還是TensorFlow?這有一份新手指南
字節(jié)跳動(dòng)開(kāi)源高性能分布式訓(xùn)練框架 BytePS
從我開(kāi)發(fā)過(guò)的Tensorflow、飛槳、無(wú)量框架看深度學(xué)習(xí)這幾年
這4個(gè)最流行的深度學(xué)習(xí)框架,你用過(guò)幾個(gè)?
一文帶你了解——2019你必須知道的10大Python庫(kù)
【Deep Learning with PyTorch 中文手冊(cè)】(四)The Batteries in PyTorch
更多類(lèi)似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服