摘要:兩個(gè)標(biāo)量的加法為了讓我們開始使用,以及感受是如何工作的。接下來,我們構(gòu)造一個(gè)簡單的函數(shù)加法。換句話說,均為變量對象。在中,所有的符號(hào)必須定義類型。表示雙精度的維數(shù)組標(biāo)量,他是中的類型不是一個(gè)類。
兩個(gè)標(biāo)量的加法
為了讓我們開始使用Theano,以及感受theano是如何工作的。接下來,我們構(gòu)造一個(gè)簡單的函數(shù):加法。
兩個(gè)標(biāo)量的加法import numpy import theano.tensor as T import theano from theano import function # 定義兩個(gè)符號(hào)(變量)x, y來表示你想實(shí)施加法的數(shù)。 # 換句話說, x,y,z均為變量對象。 # 在Theano中,所有的符號(hào)必須定義類型。 # T.dscalar: 表示雙精度(doubles)的0維數(shù)組(標(biāo)量),他是Theano中的類型(Type) x = T.dscalar("x") y = T.dscalar("y") z = x + y # dscalar不是一個(gè)類(class)。因此,事實(shí)上x,y都不是dscalr的實(shí)例。 # 它們是TensorVariable的實(shí)例。 # 然而,x,y被賦值為theano的dscalar類型。 type(x) # theano.tensor.var.TensorVariable x.type # TensorType(float64, scalar) T.dscalar # TensorType(float64, scalar) x.type is T.dscalar # True # 在你運(yùn)行f時(shí),你會(huì)注意到有些延遲 # 因?yàn)閒正在被編譯為C代碼 f = function([x, y], z) f(2, 3) numpy.allclose(f(16.3, 12.1), 28.4) numpy.allcolse(z.eval({x: 16.3, y: 12.1}), 28.4)兩個(gè)矩陣的加法
x = T.dmatrix("x") y = T.dmatrix("y") z = x + y f = function([x, y], z) f([[1, 2], [3, 4]], [[10, 20], [30, 40]])可以用到的類型(type):
byte: bscalar, bvector, bmatrix, brow, bcol, btensor3, btensor4, btensro5
16-bit intergers: wscalar, wvector, wmatrix, wrow, wcol, wtensor3, wtensor4, wtensor5
32-bit intergers: iscalar, ivector, imatrix, irow, icol, itensor3, itensor4, itensor5
64-bit intergers: lscalar, lvector, lmatrix, lrow, lcol, ltensor3, ltensor4, ltensor5
float: fscalar, fvector, fmatrix, frow, fcol, ftensor3, ftensor4, ftensor5
double: dscalar, dvector, dmatrix, drow, dcol, dtensor3, dtensor4, dtensor5
complex: cscalar, cvector, cmatrix, crow, ccol, ctensor3, ctensor4, ctensor5
練習(xí)a = theano.tensor.vector() # 聲明一個(gè)變量 out = a + a ** 10 # 構(gòu)造一個(gè)符號(hào)表達(dá)式 f = theano.function([a], out) # 編譯一個(gè)函數(shù) print(f([0, 1, 2]))
修正并執(zhí)行上面的代碼,使得其能夠計(jì)算:a ^ 2 + b ^ 2 + 2ab
a = theano.tensor.vector() b = theano.tensor.vector() out1 = a ** 2 + b ** 2 + 2 * a * b out2 = (a + b) ** 2 f1 = theano.function([a, b], out1) f2 = theano.function([a, b], out2) print(f1([0, 1], [1, 2])) print(f2([0, 1], [1, 2]))
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/38635.html
摘要:語言三個(gè)學(xué)習(xí)資源笨方法學(xué)本書面向零基礎(chǔ)的讀者,通過一系列簡單的例子快速入門的基本操作。鏈接機(jī)器學(xué)習(xí)含深度學(xué)習(xí)參考學(xué)習(xí)資源線性代數(shù)線性代數(shù)應(yīng)該這樣學(xué)可網(wǎng)上搜索中文譯本電子版。 推薦資源大部分來自《深度學(xué)習(xí)入門之 PyTorch》(廖星宇 編著)。 Python 語言三個(gè)學(xué)習(xí)資源 (1)《笨方法學(xué) Python》(Learn Python the Hard Way) 本書面向零基礎(chǔ)的讀者,...
摘要:在上篇文章里,為大家推薦了一些數(shù)學(xué)學(xué)習(xí)的軟件和微積分線性代數(shù)概率統(tǒng)計(jì)的學(xué)習(xí)視頻,今天再推薦一些精心挑選的經(jīng)典教材,并為大家提供電子書的下載鏈接,和視頻搭配起來一起學(xué)習(xí),效果會(huì)更好。我們要使用的以及等都包含在里面,無需額外下載。 在上篇文章里,為大家推薦了一些數(shù)學(xué)學(xué)習(xí)的軟件和微積分、線性代數(shù)、概率統(tǒng)計(jì)的學(xué)習(xí)視頻,今天再推薦一些精心挑選的經(jīng)典教材,并為大家提供電子書的下載鏈接,和視頻搭配起...
摘要:的符號(hào)運(yùn)算如果之前是學(xué)數(shù)學(xué)相關(guān)專業(yè)了解計(jì)算機(jī)代數(shù)系統(tǒng),就會(huì)對數(shù)學(xué)符號(hào)的運(yùn)算比較熟悉,而如果之前是程序員,可能會(huì)有點(diǎn)不太明白,下面我們就來了解一下。 在我們初、高中和大學(xué)近10年的學(xué)習(xí)時(shí)間里,數(shù)學(xué)一直占據(jù)著非常大的分量,但是回憶過去可以發(fā)現(xiàn),我們把大量的時(shí)間都花在反復(fù)解題、不斷運(yùn)算上,計(jì)算方法、運(yùn)算技巧、筆算能力以及數(shù)學(xué)公式的記憶仿佛成了我們學(xué)習(xí)數(shù)學(xué)的全部。這些記憶和技巧沒幾年就忘掉了,...
閱讀 1618·2021-09-08 10:42
閱讀 3604·2021-08-11 10:23
閱讀 3959·2019-08-30 14:10
閱讀 2732·2019-08-29 17:29
閱讀 3090·2019-08-29 12:50
閱讀 637·2019-08-26 13:36
閱讀 3456·2019-08-26 11:59
閱讀 1487·2019-08-23 16:23