哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【連載】深度學(xué)習(xí)筆記7:Tensorflow入門(mén)

人工智能實(shí)訓(xùn)營(yíng) ? 2018-08-24 18:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

從前面的學(xué)習(xí)筆記中,筆者和大家一起使用了 numpy 一步一步從感知機(jī)開(kāi)始到兩層網(wǎng)絡(luò)以及最后實(shí)現(xiàn)了深度神經(jīng)網(wǎng)絡(luò)算法搭建。而后我們又討論了改善深度神經(jīng)網(wǎng)絡(luò)的基本方法,包括神經(jīng)網(wǎng)絡(luò)的正則化、參數(shù)優(yōu)化和調(diào)參等問(wèn)題。這一切工作我們都是基于numpy 完成的,沒(méi)有調(diào)用任何深度學(xué)習(xí)框架。在學(xué)習(xí)深度學(xué)習(xí)的時(shí)候,一開(kāi)始不讓大家直接上手框架可謂良苦用心,旨在讓大家能夠跟筆者一樣,一步一步通過(guò) numpy 搭建神經(jīng)網(wǎng)絡(luò)的過(guò)程就是要讓你能夠更加深入的理解神經(jīng)網(wǎng)絡(luò)的架構(gòu)、基本原理和工作機(jī)制,而不是黑箱以視之。

但學(xué)習(xí)到這個(gè)階段,你已充分理解了神經(jīng)網(wǎng)絡(luò)的工作機(jī)制,馬上就要接觸更深層次的卷積神經(jīng)網(wǎng)絡(luò)(CNN)和遞歸神經(jīng)網(wǎng)絡(luò)(RNN),依靠純手工去搭建這些復(fù)雜的神經(jīng)網(wǎng)絡(luò)恐怕并不現(xiàn)實(shí)。這時(shí)候就該深度學(xué)習(xí)框架出場(chǎng)了。針對(duì)深度學(xué)習(xí),目前有很多優(yōu)秀的學(xué)習(xí)框架,比如說(shuō)筆者馬上要講的 Tensorflow,微軟的 CNTK,伯克利視覺(jué)中心開(kāi)發(fā)的 caffe,以及別具一格的 PyTorch 和友好易用的 keras,本系列深度學(xué)習(xí)筆記打算從 Tensorflow 開(kāi)始,對(duì)三大主流易用的深度學(xué)習(xí)框架 Tensorflow、PyTorchkeras 進(jìn)行學(xué)習(xí)和講解。選擇這三個(gè)框架的原因在于其簡(jiǎn)單易用、方便編程和運(yùn)行速度相對(duì)較快。

作為谷歌的深度學(xué)習(xí)框架, Tensorflow 在深度學(xué)習(xí)領(lǐng)域可謂風(fēng)頭無(wú)二。其中 Tensor 可以理解為類似于 numpy 的 N 維數(shù)組,名為張量; flow 則意味著 N 維數(shù)組的流計(jì)算,而 Tensor 的數(shù)據(jù)流計(jì)算形式則為一個(gè)計(jì)算圖的形式進(jìn)行計(jì)算。這里重點(diǎn)提一下,如果大學(xué)本科期間的線性代數(shù)忘記了的話,我勸你趕緊回去翻一翻,線性代數(shù)和矩陣論是深度學(xué)習(xí)的基礎(chǔ),希望你能熟練掌握。


先看個(gè)簡(jiǎn)單的例子。

importtensorflowastf#Definey_hatconstant.Setto36.y_hat=tf.constant(36,name='y_hat')
#Definey.Setto39y=tf.constant(39,name='y')#Createavariableforthelossloss=tf.Variable((y-y_hat)**2,name='loss')#Wheninitisrunlater(session.run(init)),thelossvariablewillbeinitializedandreadytobecomputedinit=tf.global_variables_initializer()#Createasessionandprinttheoutputwithtf.Session()assession:
#Initializesthevariables
session.run(init)
#Printstheloss
print(session.run(loss))
9

在上述代碼中,我們首先定義了兩個(gè)常量,然后定義了一個(gè) loss Tensor(變量),之后對(duì)變量進(jìn)行初始化,創(chuàng)建計(jì)算會(huì)話,最后執(zhí)行會(huì)話計(jì)算并打印結(jié)果。所以我們可以看到運(yùn)行 Tensorflow 的基本機(jī)制:
創(chuàng)建一些尚未被執(zhí)行的張量——
定義這些張量之間的運(yùn)算操作——初始化這些張量——創(chuàng)建會(huì)話——執(zhí)行會(huì)話

需要注意的一點(diǎn)是,創(chuàng)建會(huì)話后一定要執(zhí)行這個(gè)會(huì)話,且看下面示例:

a=tf.constant(2)
b=tf.constant(10)
c=tf.multiply(a,b)
print(c)
Tensor("Mul:0",shape=(),dtype=int32)

在上面的示例中,我們創(chuàng)建了兩個(gè) TensorTensor 之間的乘積運(yùn)算,但直接打印的結(jié)果卻不是我們想要看到的 20. 原因則在于這里我們沒(méi)有創(chuàng)建會(huì)話并執(zhí)行,只是打印了兩個(gè)張量運(yùn)算之后的張量。創(chuàng)建會(huì)話并執(zhí)行操作如下:

sess=tf.Session()
print(sess.run(c))
20

除了直接定義變量之外,我們還可以通過(guò)創(chuàng)建占位符變量來(lái)稍后為之賦值,然后在運(yùn)行會(huì)話中傳入一個(gè) feed_dict ,示例如下:

x=tf.placeholder(tf.int64,name='x')
print(sess.run(2*x,feed_dict={x:3}))
sess.close()
6

相信你已經(jīng)大致明白了基于張量運(yùn)算的 Tensorflow 的底層運(yùn)行機(jī)制了??偨Y(jié)而言就是:創(chuàng)建張量、初始化張量、創(chuàng)建會(huì)話并執(zhí)行。

下面展示幾個(gè) Tensorflow 的神經(jīng)網(wǎng)絡(luò)計(jì)算的基礎(chǔ)函數(shù)示例。

線性函數(shù)
def linear_function():  
""" Implements a linear function: Initializes W to be a random tensor of shape (4,3) Initializes X to be a random tensor of shape (3,1) Initializes b to be a random tensor of shape (4,1) Returns: result -- runs the session for Y = WX + b """ np.random.seed(1) X = tf.constant(np.random.randn(3,1), name='X') W = tf.constant(np.random.randn(4,3), name='W') b = tf.constant(np.random.randn(4,1), name='b') Y = tf.add(tf.matmul(W, X), b) # Create the session using tf.Session() and run it with sess.run(...) on the variable you want to calculate init = tf.global_variables_initializer() sess = tf.Session() sess.run(init) result = sess.run(Y) # close the session sess.close()
return result
計(jì)算sigmoid函數(shù)
def sigmoid(z):  
""" Computes the sigmoid of z Arguments: z -- input value, scalar or vector Returns: results -- the sigmoid of z """ x = tf.placeholder(tf.float32, name='x') sigmoid = tf.sigmoid(x)
with tf.Session() as sess: result = sess.run(sigmoid, feed_dict={x: z})
return result
計(jì)算損失函數(shù)

640?wx_fmt=png

def cost(logits, labels):  
""" Computes the cost using the sigmoid cross entropy Arguments: logits -- vector containing z, output of the last linear unit (before the final sigmoid activation) labels -- vector of labels y (1 or 0) Note: What we've been calling "z" and "y" in this class are respectively called "logits" and "labels" in the TensorFlow documentation. So logits will feed into z, and labels into y. Returns: cost -- runs the session of the cost (formula (2)) """ # Create the placeholders for "logits" (z) and "labels" (y) (approx. 2 lines) z = tf.placeholder(tf.float32, name='z') y = tf.placeholder(tf.float32, name='y') # Use the loss function (approx. 1 line) cost = tf.nn.sigmoid_cross_entropy_with_logits(logits=z, labels=y) # Create a session (approx. 1 line). See method 1 above. sess = tf.Session() # Run the session (approx. 1 line). sess.run(cost, feed_dict={z: logits, y: labels}) # Close the session (approx. 1 line). See method 1 above. sess.close()
return cost
one hot 編碼

640?wx_fmt=png

def one_hot_matrix(labels, C):  
""" Creates a matrix where the i-th row corresponds to the ith class number and the jth column corresponds to the jth training example. So if example j had a label i. Then entry (i,j) will be 1. Arguments: labels -- vector containing the labels C -- number of classes, the depth of the one hot dimension Returns: one_hot -- one hot matrix """ # Create a tf.constant equal to C (depth), name it 'C'. (approx. 1 line) C = tf.constant(C) # Use tf.one_hot, be careful with the axis (approx. 1 line) one_hot_matrix = tf.one_hot(labels, C, axis=0) # Create the session (approx. 1 line) sess = tf.Session() one_hot = sess.run(one_hot_matrix) # Close the session (approx. 1 line). See method 1 above. sess.close()
return one_hot
參數(shù)初始化
def ones(shape):  """
  Creates an array of ones of dimension shape
  Arguments:
  shape -- shape of the array you want to create

  Returns: 
  ones -- array containing only ones
  """
  # Create "ones" tensor using tf.ones(...). (approx. 1 line)
  ones = tf.ones(shape)  # Create the session (approx. 1 line)
  sess = tf.Session()  # Run the session to compute 'ones' (approx. 1 line)
  ones = sess.run(ones)  # Close the session (approx. 1 line). See method 1 above.
  sess.close()  
return ones

一頓操作之后,我們已經(jīng)將神經(jīng)網(wǎng)絡(luò)的一些基礎(chǔ)運(yùn)算利用 Tensorflow 定義好了。在下一期筆記中,我們將學(xué)習(xí)如何使用 Tensorflow 搭建神經(jīng)網(wǎng)絡(luò)。

本文由《自興動(dòng)腦人工智能》項(xiàng)目部 凱文 投稿。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 人工智能
    +關(guān)注

    關(guān)注

    1819

    文章

    50284

    瀏覽量

    266761
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    67

    文章

    8560

    瀏覽量

    137194
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5603

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    模擬電路入門(mén)難?掌握這7大核心電路,你也能輕松上手!

    很多電子工程師在入門(mén)模擬電路時(shí),都會(huì)覺(jué)得它“知識(shí)點(diǎn)雜、電路形式多”,學(xué)起來(lái)一頭霧水。其實(shí),模擬電路的學(xué)習(xí)是有規(guī)律可循的,今天就為大家拆解7大核心模擬電路,掌握它們,你會(huì)發(fā)現(xiàn)模擬電路其實(shí)沒(méi)那么難!一
    的頭像 發(fā)表于 03-28 21:01 ?221次閱讀
    模擬電路<b class='flag-5'>入門(mén)</b>難?掌握這<b class='flag-5'>7</b>大核心電路,你也能輕松上手!

    機(jī)器學(xué)習(xí)深度學(xué)習(xí)中需避免的 7 個(gè)常見(jiàn)錯(cuò)誤與局限性

    無(wú)論你是剛入門(mén)還是已經(jīng)從事人工智能模型相關(guān)工作一段時(shí)間,機(jī)器學(xué)習(xí)深度學(xué)習(xí)中都存在一些我們需要時(shí)刻關(guān)注并銘記的常見(jiàn)錯(cuò)誤。如果對(duì)這些錯(cuò)誤置之不理,日后可能會(huì)引發(fā)諸多麻煩!只要我們密切關(guān)注
    的頭像 發(fā)表于 01-07 15:37 ?331次閱讀
    機(jī)器<b class='flag-5'>學(xué)習(xí)</b>和<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>中需避免的 <b class='flag-5'>7</b> 個(gè)常見(jiàn)錯(cuò)誤與局限性

    如何在TensorFlow Lite Micro中添加自定義操作符(1)

    相信大家在部署嵌入式端的AI應(yīng)用時(shí),一定使用過(guò)TensorFlow Lite Micro,以下簡(jiǎn)稱TFLm。TFLm 是專為微控制器和嵌入式設(shè)備設(shè)計(jì)的輕量級(jí)機(jī)器學(xué)習(xí)推理框架,它通過(guò)模塊化的操作符系統(tǒng)
    的頭像 發(fā)表于 12-26 10:34 ?5684次閱讀

    穿孔機(jī)頂頭檢測(cè)儀 機(jī)器視覺(jué)深度學(xué)習(xí)

    LX01Z-DG626穿孔機(jī)頂頭檢測(cè)儀采用深度學(xué)習(xí)技術(shù),能夠?qū)崿F(xiàn)頂頭狀態(tài)的在線實(shí)時(shí)檢測(cè),頂頭丟失報(bào)警,頂頭異常狀態(tài)報(bào)警等功能,響應(yīng)迅速,異常狀態(tài)視頻回溯,檢測(cè)頂頭溫度,配備吹掃清潔系統(tǒng),維護(hù)周期長(zhǎng)
    發(fā)表于 12-22 14:33

    【團(tuán)購(gòu)】獨(dú)家全套珍藏!龍哥LabVIEW視覺(jué)深度學(xué)習(xí)實(shí)戰(zhàn)課(11大系列課程,共5000+分鐘)

    大系列課程,形成\"傳統(tǒng)視覺(jué)算法→深度學(xué)習(xí)建?!I(yè)級(jí)部署\"的完整技術(shù)鏈,不論是新手、老手都適合學(xué)習(xí)。 1. 新手入門(mén) 課程通過(guò)三層保障體系降低學(xué)
    發(fā)表于 12-04 09:28

    【團(tuán)購(gòu)】獨(dú)家全套珍藏!龍哥LabVIEW視覺(jué)深度學(xué)習(xí)實(shí)戰(zhàn)課程(11大系列課程,共5000+分鐘)

    大系列課程,形成\"傳統(tǒng)視覺(jué)算法→深度學(xué)習(xí)建?!I(yè)級(jí)部署\"的完整技術(shù)鏈,不論是新手、老手都適合學(xué)習(xí)。 1. 新手入門(mén) 課程通過(guò)三層保障體系降低學(xué)
    發(fā)表于 12-03 13:50

    如何深度學(xué)習(xí)機(jī)器視覺(jué)的應(yīng)用場(chǎng)景

    深度學(xué)習(xí)視覺(jué)應(yīng)用場(chǎng)景大全 工業(yè)制造領(lǐng)域 復(fù)雜缺陷檢測(cè):處理傳統(tǒng)算法難以描述的非標(biāo)準(zhǔn)化缺陷模式 非標(biāo)產(chǎn)品分類:對(duì)形狀、顏色、紋理多變的產(chǎn)品進(jìn)行智能分類 外觀質(zhì)量評(píng)估:基于學(xué)習(xí)的外觀質(zhì)量標(biāo)準(zhǔn)判定 精密
    的頭像 發(fā)表于 11-27 10:19 ?308次閱讀

    學(xué)習(xí)物聯(lián)網(wǎng)怎么入門(mén)?

    景等。同時(shí),學(xué)習(xí)物聯(lián)網(wǎng)的基本技術(shù),如傳感器技術(shù)、通信技術(shù)、云計(jì)算等,也是非常重要的。 其次,選擇適合自己的學(xué)習(xí)方式也是入門(mén)學(xué)習(xí)物聯(lián)網(wǎng)的重要一步。
    發(fā)表于 10-14 10:34

    【上海晶珩睿莓1開(kāi)發(fā)板試用體驗(yàn)】TensorFlow-Lite物體歸類(classify)

    目前尚未得知睿莓1開(kāi)發(fā)板上面有NPU或者DPU之類的額外處理器,因此使用樹(shù)莓派系列使用最廣泛的TensorFlow-Lite庫(kù)進(jìn)行物體歸類,使用CPU運(yùn)行代碼,因此占用的是CPU的算力。在
    發(fā)表于 09-12 22:43

    如何在機(jī)器視覺(jué)中部署深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

    圖 1:基于深度學(xué)習(xí)的目標(biāo)檢測(cè)可定位已訓(xùn)練的目標(biāo)類別,并通過(guò)矩形框(邊界框)對(duì)其進(jìn)行標(biāo)識(shí)。 在討論人工智能(AI)或深度學(xué)習(xí)時(shí),經(jīng)常會(huì)出現(xiàn)“神經(jīng)網(wǎng)絡(luò)”、“黑箱”、“標(biāo)注”等術(shù)語(yǔ)。這些概
    的頭像 發(fā)表于 09-10 17:38 ?1025次閱讀
    如何在機(jī)器視覺(jué)中部署<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>神經(jīng)網(wǎng)絡(luò)

    深度學(xué)習(xí)對(duì)工業(yè)物聯(lián)網(wǎng)有哪些幫助

    深度學(xué)習(xí)作為人工智能的核心分支,通過(guò)模擬人腦神經(jīng)網(wǎng)絡(luò)的層級(jí)結(jié)構(gòu),能夠自動(dòng)從海量工業(yè)數(shù)據(jù)中提取復(fù)雜特征,為工業(yè)物聯(lián)網(wǎng)(IIoT)提供了從數(shù)據(jù)感知到智能決策的全鏈路升級(jí)能力。以下從技術(shù)賦能、場(chǎng)景突破
    的頭像 發(fā)表于 08-20 14:56 ?1179次閱讀

    自動(dòng)駕駛中Transformer大模型會(huì)取代深度學(xué)習(xí)嗎?

    [首發(fā)于智駕最前沿微信公眾號(hào)]近年來(lái),隨著ChatGPT、Claude、文心一言等大語(yǔ)言模型在生成文本、對(duì)話交互等領(lǐng)域的驚艷表現(xiàn),“Transformer架構(gòu)是否正在取代傳統(tǒng)深度學(xué)習(xí)”這一話題一直被
    的頭像 發(fā)表于 08-13 09:15 ?4343次閱讀
    自動(dòng)駕駛中Transformer大模型會(huì)取代<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>嗎?

    ARM入門(mén)學(xué)習(xí)方法分享

    。 以下是一些入門(mén)學(xué)習(xí)方法的分享: 一、 理解基本概念:首先,了解ARM是什么以及它的基本概念是很重要的。ARM(Advanced RISC Machines)指的是一種精簡(jiǎn)指令集計(jì)算機(jī)(RISC
    發(fā)表于 07-23 10:21

    當(dāng)深度學(xué)習(xí)遇上嵌入式資源困境,特征空間如何破局?

    近年來(lái),隨著人工智能(AI)技術(shù)的迅猛發(fā)展,深度學(xué)習(xí)(Deep Learning)成為最熱門(mén)的研究領(lǐng)域之一。在語(yǔ)音識(shí)別、圖像識(shí)別、自然語(yǔ)言處理等領(lǐng)域,深度學(xué)習(xí)取得了顯著成果。從原理上看
    發(fā)表于 07-14 14:50 ?1305次閱讀
    當(dāng)<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>遇上嵌入式資源困境,特征空間如何破局?

    硬件原理圖學(xué)習(xí)筆記

    這一個(gè)星期認(rèn)真學(xué)習(xí)了硬件原理圖的知識(shí),做了一些筆記,方便以后查找。硬件原理圖分為三類1.管腳類(gpio)和門(mén)電路類輸入輸出引腳,上拉電阻,三極管與門(mén),或門(mén),非門(mén)上拉電阻:正向標(biāo)志作用,給懸空的引腳
    的頭像 發(fā)表于 04-30 18:40 ?1595次閱讀
    硬件原理圖<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>
    岗巴县| 迁西县| 枣阳市| 青州市| 贡山| 尚义县| 周至县| 赤壁市| 青神县| 洛南县| 丰台区| 广灵县| 孝义市| 铜陵市| 洮南市| 元江| 开阳县| 内江市| 青阳县| 锦州市| 县级市| 阳谷县| 四子王旗| 绥德县| 浦县| 太仆寺旗| 涿州市| 普安县| 永春县| 山阳县| 邵阳市| 五家渠市| 余干县| 营口市| 云安县| 侯马市| 桓台县| 康乐县| 松原市| 长武县| 山阴县|