主頁 >  其他 > 01_pytorch和tensorflow的區別

01_pytorch和tensorflow的區別

2021-04-14 06:29:43 其他

Pytorch和TensorFlow的區別

目錄
  • 引言
  • pytorch和tensorflow的功能
  • torch和tf的區別
    • torch
    • tf
    • Torch和tf到呼叫哪個
  • 總結

引言

在這里,我們長話短說,短話簡說,抱歉,還是說了這么多廢話,兩年多沒有正式寫技術博客了,有點興奮又有點傷感,那就正式開始吧,

話說在某某年有人發明了人工智能這個專業術語,因此后來者想要達到這個人說的人工智能的那種狀態,當然了,你可以把人工智能弱智的理解成機器人這種啦,當然咯,目前這還是很難實作的,我們就說兩個現在大多數人都用得到的吧,

這兩個東西就是你們手機的siri、小冰、小白、小度啥的,扯一下,為什么都要加個“小”字,就不能是大白嗎?也挺親切的,好了,言歸正傳,上述的小某某其實專業點講就是語音助手,它用到的是人工智能中自然語言處理這個技術,也就是大白話的語音識別,說的再清楚點,就是你說啥,機器都能聽懂,還能做出回應,比如你說:有德是最帥的嗎?毫無疑問,它們的回復都是:是的,可惜它們不是她們,除了這些所謂的語音助手,還有一個就是人臉識別,無論是你的高檔某某保時捷牌手機,還是在高鐵口,我們都可以通過刷臉進行一定的操作,其實簡單點說,人臉識別就是努力讓機器人認識你,當然咯,這種人臉識別技術更多的是對比技術,還沒有那么高端,總而言之,你只要知道,人工智能這玩意兒已經離你的生活特別近了,它并不遙遠,如果你還想了解更多,我給你說幾個高端但還沒怎么落地的應用,基因測序、醫療影像、無人駕駛,其它的一時半會也想不出來,就這樣吧!

pytorch和tensorflow的功能

上面為什么要說那么多呢?也許就是我想說點廢話,其實不然,說了那么多,就是想告訴大家人工智能是一個很高端的東西,而這種高端的東西只是看起來很高端,為什么這樣講呢,因為如果你不去了解,你可能認為你需要去了解各種各樣型別的知識呢,比如:哲學、數學、經濟學、神經科學、心理學、計算機工程、控制論、語言學,(此八種來自《人工智能——一種現代的方法》,南京大學AI學院研究生初試的一本書)對的,就是這么恐怖,所以很多人可能“直接推,放棄”,

但是人工智能真的只是表面看起來高端,如果你有一定的毅力,你是可以很好地去實作它的,因為上述八種型別的學科想要實作的是一種還遠在天邊的通用人工智能,此時你可以把它理解成一個和人一樣的機器人,而我們的目標僅僅只是需要做一個會下圍棋的人工智能,對的,就是那個曾經紅紅火火的alphago,我造個這玩意還需要考慮啥哲學、心理學嗎?還不至于,

那么重點來了,為了造一個如alphago一樣的人工智能,我們需要干嘛呢?其實很簡單:

  1. 自己買本深度學習的書看看,現在市面上一大堆這樣的書,別問我看哪本,市面上的深度學習的書其實差不多都是五十步笑百步,所以哪一本都行,
  2. 大概看完這本書后,學個Python,Python網課和檔案我都給你整理好了,鏈接在此:https://www.cnblogs.com/nickchen121/p/10718112.html
  3. 然后開始敲代碼就行,

我們的主人公pytorch和tensorflow終于要出場了,他們在幕后可愁死了,至于keras、caffe這種就別問了,他們可能一直都要在我的幕后做冷板凳,21世紀了,誰還用這些,你用我不用,下面pytorch簡稱torch,tensorflow簡稱tf,別問我為什么,就是想少打幾個字,打字很累的,也就是說torch和tf的功能是干啥呢?他們的功能很簡單,就是為了完成上面說的第二步,也就是方便我們敲代碼,

為什么說他能方便我們敲代碼呢?舉個很簡單的例子,比如我現在有一個極其復雜的函式:

\[z = ax^2+bx+clnx+dy^3+ey+\epsilon \]

好吧,其實并不復雜,但是如果我們需要對x和y求偏導,動筆一算,結果為\(\frac{\partial{z}}{\partial{y}}=3d^2+e\),x的偏導我還需要動筆一算,總感覺很麻煩的感覺,但是如果我們用了torch這個玩意兒,tf同理,這樣就行了,x和y的一次性求出來:

from torch import autograd

z2x_grad, z2y_grad = autograd.grad(z, [x, y]) # z對x求偏導,z對y求偏導

好了,就透露這么多,對了,別運行這段代碼,運行報錯,還有一些定義變數啥的代碼沒寫出來,但這已經夠打動你了吧?

復雜點說吧,torch和tf有啥用呢,可以讓你把一些看起來高深莫測的東西,幾行代碼解決,其實就是it屆廣為流傳的一句話:面試造航母,作業擰螺絲,為什么說作業擰螺絲呢?就拿我從事過的Python后端開發來說吧!Python后端開發中有一個和tf一樣的東西,叫做Django,也是個框架,只要你用它做開發,擰螺絲就行了,為什么說擰螺絲呢?因為無論是torch,還是tf,還是Django,他們幫我們把各種輪子造好了,比如上述求偏導,我們不需要求偏導是什么,如何求偏導,我們只要知道我們要去求偏導的時候,autograd.grad一下,然后填幾個引數就行,

簡單點說吧,torch和tf有啥呢?就是他們屬于一個成型的框架系統,里面封裝了各種各樣的輪子,你只要會一些他們的基本使用方法,便可以使用這個輪子完成那些高深莫測的東西,比如造航母,其實也不是不行,哈哈!

torch和tf的區別

上面說到了torch和tf的功能,就是他們作為一個合格的框架系統,在這個系統里面,他們提供了各種各樣的輪子給我們造航母,但是他們既然都有同樣的功能,那我該用哪個呢?實話實說,最好的方法,兩個都學,但是不是兩個都精通,

比如我以前作為Python講師給學生們上課的時候,Python后端開發有三個比較有名的框架,分別是Django、Flask、Tornado,我們主講Django,其他的你說要不要學,要學,他們是副學,至少要能簡單使用,為什么這樣呢?因為三個框架各有好壞,每個公司的專案需求和CTO們的喜好又不同,你怎么知道他喜歡用哪個,但是一通百通,既然三者都是為了完成一件事,那么他們的本質區別不會很大,所以主學 一個,其他的深入一下也可信手拈來,

好了,言歸正傳,也就是說torch和tf我們都要學,但要有主次,至于哪個主哪個次,我給你說出優劣,你自己抉擇,不過成人才做選擇,我作為一個小孩子我全都要,那怕是要累死我,

torch

那我們先說說torch吧!因為不久之后我可能需要使用他,所以我需要先學這個,我也就先講講這個,torch它有啥優點呢!它的優點其實目前我發現就兩個,簡單和靈活,對的,簡單和靈活,缺點,有啥缺點,目前也沒啥缺點,你要說幾年前吧,用的人少,社區少,這樣你碰到了問題要么找“鬼”,要么自己慢慢鉆研吧!但是現在他挺火爆的,不亞于tf,

缺點你要說有,還真有,在他不火爆的時候,tf1.0挺火爆的,導致剛開始工業界大興土木都是用的tf,你要知道,我100萬行的代碼用的是tf,就因為你torch簡單我就換個100萬代碼?你以為你是誰,但是,隨著時間的發展,這樣的問題已經沒了,就好比Python2和Python3一樣,現在誰還用Python2,怕是遠古企業才用吧,然而我以后要搞三年學術,那個缺點對我來說也不是啥缺點,

總結下,torch這東西簡單而且靈活,但是由于工業界早期使用tf,不可能因為你簡單我就換torch,所以,如果你是為了作業,最好提前打聽清楚,如果你是搞學術研究,也別急著做定論,畢竟tf2.0出來了,也可以看看下面tf的介紹,

tf

Tf它說起來就一言難盡了,但是我也要長話短說,現在20:30,我有個21點的鬧鐘要去睡覺,我得趕進度,哈哈!其實不是,只是我們重點講tf2.0就沒必要說那么多了,

tf它很特別,它得區分tf1.0和tf2.0版本,如果它沒有2.0版本,那么我認為“如無必要,勿增物體”,什么意思,選簡單的,哪個簡單,torch簡單呀,當然咯,公司、研究室有規定,那就選tf1.0咯,我都能想到,那么其他開發者怎么想不到,所以當torch出來的時候,tf1.0的使用人數一直下滑,那個恐怖程度,看下圖(終于有圖片了):

不用我多說了吧,tf那一段黑暗的時光,就是它驕傲自滿,和以前的我一樣,所以我得了干眼癥,它,你懂得,

但是很多人好奇為什么tf的使用人數為什么又增多了呢?這里,不得不說,以前是tf的金主爸爸google驕傲自滿,后面就是torch的金主爸爸facebook不僅要獲取用戶隱私,還非要泄露用戶隱私,搞得facebook總公司雞犬不寧,更何況他的小兒子,而此時的tf也爭了口氣,洗心革面出了tf2.0版本,也因此tf1.0版本靜態計算(不懂就算了),用個輪子都麻煩死的缺點沒了,人生就是這樣啊!哈哈哈,不自然的來句雞湯,

因為tf2.0版本出來了,大家都好奇唄,其實就是變簡單的了,它驕傲自滿的缺點還沒有徹底改變,用起來稍微還是比torch復雜一點的,但總歸是五十步笑百步了,

Torch和tf到呼叫哪個

說了這么多,感徑訓是不清楚用哪個,其實,很簡單,現在你的問題就是到了是該去淘寶還是去京東網上shopping,至于去哪個,給幾個參考:

  1. torch和tf兩者的生態是不一樣的,也就是兩者提供的輪子是有區別的,如果你要用到tf的輪子,那你就去tf,反之,torch,
  2. torch和tf的服務態度是不一樣的,網上說torch的服務態度好,我也沒試過,我不清楚,但是沒人說tf的服務態度好,
  3. torch不僅服務態度好,提供的檔案和api也很整齊,和我一樣,愛整理東西,哈哈,寫個文章都要吹噓自己,而tf貌似檔案和api很亂,
  4. tf線上部署友好,方便運維和開發了,不過torch也開始迎面而上了,

說了這么多,還是不清楚用哪個呀!那我就說說我吧!由于我未來馬上需要用到torch,那么我一定是先學torch的,但是你說我tf要不要學,我也是要學的,只不過會未來再學,

如果你先學torch也行,先學tf也行,那么對于這種五十步和一百步區別的東西,告訴你一個最簡單也最好用的方法,拋硬幣!貌似拋硬幣才是這篇文章的核心內容,但是如果我一來就說拋硬幣,你怕是會說我,這個人腦子瓦特(傻)了吧!

總結

本篇文章正式介紹了torch和tf的區別,廢話那么多,相信你已經很明白兩者的區別了,不過是五十步笑百步,先學哪個按照你的需求來就行,但是無論你第一個選擇了哪個,另外一個都要作為你的備胎,兩個都要學,只不過一個主,一個次,

如果兩者對你來說都可以先學,那么,我也教了你一個簡單的方法,拋硬幣!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/275708.html

標籤:其他

上一篇:IPFS專案是不是真的?IPFS國家認可嗎?

下一篇:GAMES101作業2

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more