国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Theano - 條件

mengera88 / 2037人閱讀

摘要:接收布爾型條件和兩個變量作為輸入。進行元素級運算,因此比更常用。比較懶惰,只計算滿足條件的相應輸出變量,而計算所有的輸出變量。如果那么計算和,并輸出在這個例子中,比花費更少的時間,因為他只計算輸出變量中的一個。

IfElse vs Switch

IfElse接收布爾型條件和兩個變量作為輸入。

Switch接收一個張量(Tensor)以及兩個變量作為輸入。

Switch進行元素級運算,因此比IfElse更常用。

IfElse比較懶惰,只計算滿足條件的相應輸出變量, 而Switch計算所有的輸出變量。

即:

ifelse(condition, output1, output2): 如果condition:1(0),那么ifelse只計算output1(output2)并輸出。

switch(condition, output1, output2): 如果condition:1(0),那么switch計算output1和output2,并輸出output1(output2)

from theano import tensor as T
from theano.ifelse import ifelse
import theano, time, numpy

a, b = T.scalars("a", "b")
x, y = T.matrices("x", "y")

z_switch = T.switch(T.lt(a, b), T.mean(x), T.mean(y))
z_ifelse = ifelse(T.lt(a, b), T.mean(x), T.mean(y))

f_switch = theano.function([a, b, x, y], z_switch, mode=theano.Mode(linker="vm"))
f_ifelse = theano.function([a, b, x, y], z_ifelse, mode=theano.Mode(linker="vm"))

val1 = 0.
val2 = 1.
big_mat1 = numpy.ones((10000, 1000))
big_mat2 = numpy.ones((10000, 1000))
n_times = 10

tic = time.clock()
for i in range(n_times):
    f_switch(val1, val2, big_mat1, big_mat2)
print("time spent evaluating both values %f sec" % (time.clock() - tic))

tic = time.clock()
for j in range(n_times):
    f_ifelse(val1, val2, big_mat1, big_mat2)
print("time spent evaluating one value %f sec" % (time.clock() - tic))

在這個例子中,IfElse比Switch花費更少的時間,因為他只計算輸出變量中的一個。
如果不使用linker="vm"或linker="cvm",那么ifelse將會和switch一樣計算兩個輸出變量,而且花費的時間和switch一樣多。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38661.html

相關文章

  • 從NNVM看2016年深度學習框架發展趨勢

    摘要:兩者取長補短,所以深度學習框架在年,迎來了前后端開發的黃金時代。陳天奇在今年的中,總結了計算圖優化的三個點依賴性剪枝分為前向傳播剪枝,例已知,,求反向傳播剪枝例,,求,根據用戶的求解需求,可以剪掉沒有求解的圖分支。 虛擬框架殺入從發現問題到解決問題半年前的這時候,暑假,我在SIAT MMLAB實習。看著同事一會兒跑Torch,一會兒跑MXNet,一會兒跑Theano。SIAT的服務器一般是不...

    ThinkSNS 評論0 收藏0
  • PyTorch和TensorFlow到底哪個更好?看看一線開發者怎么說

    摘要:我認為對機器學習開發者來說,是一個了不起的工具集。這個帖子發出后得到了很多機器學習研究者和開發者的關注,他們紛紛跟貼談論自己的想法和經驗不只是關于和,討論中還涉及到更多工具。 Theano、TensorFlow、Torch、MXNet 再到近日比較熱門的 PyTorch 等等,深度學習框架之間的比較一直以來都是非常受人關注的熱點話題。機器之心也曾發表過多篇相關的介紹和對比文章,如《主流深度學...

    coordinate35 評論0 收藏0
  • Yoshua Bengio等大神傳授:26條深度學習經驗

    摘要:另外,當損失函數接近全局最小時,概率會增加。降低訓練過程中的學習率。對抗樣本的訓練據最近信息顯示,神經網絡很容易被對抗樣本戲弄。使用高度正則化會有所幫助,但會影響判斷不含噪聲圖像的準確性。 由 Yoshua Bengio、 Leon Bottou 等大神組成的講師團奉獻了 10 天精彩的講座,劍橋大學自然語言處理與信息檢索研究組副研究員 Marek Rei 參加了本次課程,在本文中,他精煉地...

    Lowky 評論0 收藏0
  • Yoshua Bengio等大神傳授:26條深度學習經驗

    摘要:八月初,我有幸有機會參加了蒙特利爾深度學習暑期學校的課程,由最知名的神經網絡研究人員組成的為期天的講座。另外,當損失函數接近全局最小時,概率會增加。降低訓練過程中的學習率。對抗樣本的訓練據最近信息顯示,神經網絡很容易被對抗樣本戲弄。 8月初的蒙特利爾深度學習暑期班,由Yoshua Bengio、 Leon Bottou等大神組成的講師團奉獻了10天精彩的講座,劍橋大學自然語言處理與信息檢索研...

    Salamander 評論0 收藏0
  • Theano - theano如何處理形狀信息

    摘要:是怎么處理形狀信息在構建圖的時候,不可能嚴格執行變量的形狀。形狀推斷問題在圖中,將會傳播形狀的信息。以下情形是目前我們可以做到的當調用時,你可以直接把形狀信息傳遞給。例如你可以在圖的任何位置使用添加位置信息。 Theano是怎么處理形狀信息(Shape Information) 在構建圖的時候,不可能嚴格執行Theano變量的形狀。因為在運行的時候,傳遞給Theano函數的某一參數的值...

    muddyway 評論0 收藏0

發表評論

0條評論

mengera88

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<