零基礎(chǔ)菜鳥的Python+TensorFlow之旅(一)——初識(shí)Tensor & Flow

開篇的話

Hello~ 如果你點(diǎn)開了這篇文章,你一定是一個(gè)內(nèi)心深處對(duì)機(jī)器學(xué)習(xí)有著深深好奇并且又極其渴望親自動(dòng)手?jǐn)[弄一番的重度IT玩家。TensorFlow是Google開發(fā)的一個(gè)機(jī)器學(xué)習(xí)的框架,是目前GitHub上深度學(xué)習(xí)領(lǐng)域最受歡迎的工具,他使用起來非常非常非常方便,并且有Google強(qiáng)大的資源庫作為后備支撐,如果你是人工智能行業(yè)的從業(yè)者,或者想要在人工智能領(lǐng)域開拓自己事業(yè)的程序猿,亦或是新科技的愛好者,花點(diǎn)時(shí)間學(xué)習(xí)下TensorFlow,保證你學(xué)不了吃虧,學(xué)不了上當(dāng)!
由于TensorFlow中的一些設(shè)計(jì)理念比較先進(jìn),所以很多同學(xué)會(huì)在一些知識(shí)的理解上產(chǎn)生困擾,本人作為一名從教師轉(zhuǎn)行的程序猿,深知各位同學(xué)在這條道路上的難言之痛,于是決定開設(shè)此教程,為大家提供最簡(jiǎn)單最直接最粗暴的講解,幫助各位同學(xué)以最輕松最愉快最爽朗的方式學(xué)會(huì)TensorFlow這個(gè)必備大殺器!

什么是Tensor?

Tensor,翻譯成中文就是“張量”的意思,至于“張量”這兩個(gè)字連在一起,可能很多同學(xué)都會(huì)一臉茫然,沒關(guān)系,姑且不用放在心上,就好像當(dāng)初第一次聽說“數(shù)組”或者“指針”的時(shí)候,也不知道是個(gè)什么東東,暫且先知道Tensor(英文)=張量(中文)就好了。
在開始的時(shí)候,我們可以姑且把Tensor當(dāng)成是“數(shù)組”,但實(shí)際上Tensor并不等同于數(shù)組,后面隨著對(duì)TensorFlow的逐漸學(xué)習(xí)深入,很快你就能明白Tensor到底是個(gè)什么東西啦!說到這里,我們就暫且認(rèn)為Tensor是一個(gè)功能更高級(jí)更先進(jìn)更強(qiáng)大的“數(shù)組”即可。下面我們通過實(shí)際代碼來簡(jiǎn)單看一下Tensor到底是個(gè)什么東西:

import tensorflow as tf  # 導(dǎo)入TensorFlow的包

tensor_a = tf.constant([[1, 2, 3], [4, 5, 6]])  # 這里定義了一個(gè)Tensor
print("tensor_a : ", tensor_a)  # 看一下Tensor到底是個(gè)啥?

以上代碼塊十分簡(jiǎn)單,第1行,首先導(dǎo)入TensorFlow的包,并給他起個(gè)別名“tf”,這是為了在后面的代碼中使用起來更方便(想想每次使用TensorFlow的時(shí)候只輸入“tf”兩個(gè)字母可比輸入“tensorflow”方便太多了),至于為什么要用tf,很簡(jiǎn)單的啦,就是Tensor和Flow的首字母t和f了。
接下來,第3行中,tensor_a = tf.constant([[1, 2, 3], [4, 5, 6]])定義了一個(gè)Tensor,其名字為tensor_atf.constant表示tensor_a 定義的是一個(gè)constant類型的Tensor(張量)。Tensor的詳解將會(huì)在下一期專門進(jìn)行介紹。
第4行的代碼,我們來親眼看一下Tensor到底是什么。運(yùn)行上述代碼之后,print出來的結(jié)果是:

tensor_a :  Tensor("Const:0", shape=(2, 3), dtype=int32)

我們可以看到,一個(gè)Tensor包含3個(gè)屬性:名字、形狀和數(shù)據(jù)類型。Tensor是TensorFlow中最基本的數(shù)據(jù)結(jié)構(gòu),TensorFlow的相關(guān)運(yùn)行都是以Tensor為基礎(chǔ)來開展的。


可以看出,一個(gè)Tensor中,包含了該Tensor的名字,該Tensor的形狀,以及該Tensor運(yùn)行的數(shù)據(jù)的數(shù)據(jù)類型。Tensor中的shape記錄的是“數(shù)組”的形狀(一個(gè)2 x 3的矩陣),而非具體的數(shù)據(jù)。

什么是Flow?TensorFlow又是什么?

Flow,中文就是“流”的意思,TensorFlow中的Flow就跟數(shù)據(jù)流、信息流中的“流”是同一個(gè)意思,TensorFlow的意思也就是“張量流”,跟數(shù)據(jù)流和信息流等概念類似,數(shù)據(jù)流指的是數(shù)據(jù)的序列或者數(shù)據(jù)的流程,TensorFlow指的也就是Tensor的序列或者說是Tensor的流程。
我們都知道在機(jī)器學(xué)習(xí)中,數(shù)據(jù)的處理要經(jīng)過一系列的流程,進(jìn)而得到最終的處理結(jié)果,TensorFlow這個(gè)看起來很帥氣的名字的意思也就是這個(gè)流程,看起來很生動(dòng)形象,又不缺乏高大上的感覺。

在后續(xù)的文章中,將會(huì)繼續(xù)用輕松愉快的方式,為大家講解TensorFlow這一人工智能必備利器,幫助大家在IT界行走江湖!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容