1樓:匿名使用者
在theano除錯過程中,tensorsharedvariable型別變數可以用get_value方法和set_value方法獲取和設定其值,至於tensorvariable型別變數是沒有值的,無法直接獲取,只能通過提前賦值或者列印的方法來看。
對於tensorsharedvariable,在除錯過程中使用get_value就可以檢視,例如我們可以檢視mnist資料集中訓練集的尺寸:
同理還可以檢視交叉驗證集以及測試集的shape。但是如果同樣的方法對train_set_y(訓練集標號)就不行,因為它是tensorvariable,沒有共享,即儲存在gpu內寸中。
那在除錯過程中,要如何檢視tensorvariable值呢?可以通過tag.test_value,即定義theano變數x時,賦值給x.
tag.test_value。如下**:
[python] view plain copy
from theano import config
from theano import tensor as t
config.***pute_test_value = 'raise'
import numpy as np
import theano
x = t.vector()
x.tag.test_value = np.array([1,2],dtype=theano.config.floatx)
x.tag.test_valuey = t.vector()
y = x+x
print y.tag.test_value
在除錯過程中,可以通過tag.test_value來檢視theano變數
theano中怎麼檢視tensorvariable的值,在debug時如何跟蹤這樣的變數
2樓:
瑾瑜 (出自成語――握瑾懷瑜,比喻擁有美好的品德)
python theano中的shared variable是指什麼意思
3樓:匿名使用者
shared variable是一種符號變數(symbolic variable),但是這個symbolic variable又擁有自己的值。
假設你定義了乙個shared variable叫做a:
import theano
a = theano.shared(2, "a")
那麼a就是乙個symbolic variable,目前的初始值是2
現在你定義兩個theano.function,乙個實現加二的功能,乙個實現平方的功能:
i = theano.tensor.scalar("i", dtype=theano.config.floatx)
add_two_func = theano.function(inputs=[i], outputs=[i+a])
sqr_func = theano.function(inputs=[i], outputs=[i**a])
i作為乙個輸入變數,通過theano.tensor.scalar來定義。i也是乙個symbolic variable,但是它在定義的時候沒有乙個固定的值。
現在開始實際呼叫加二的函式和平方的函式:
>>> add_two_func(3)
[array(5.0)]
>>> sqr_func(4)
[array(16.0)]
i在呼叫函式的時候,才被賦值。在上例中,i第一次被賦值了3,第二次被賦值了4。而a作為symbolic variable,卻在定義的時候就已經擁有了值:2 。
a之所以叫shared variable是因為a的賦值在不同的函式中都是一致的,即a是被shared的。在上例中a的值在不同的函式中都為2。
請問python theano中的shared variable是指什麼意思?
4樓:匿名使用者
shared variable是一種符號變數(symbolic variable),但是這個symbolic variable又擁有自己的值。
假設你定義了乙個shared variable叫做a:
import theano
a = theano.shared(2, "a")
那麼a就是乙個symbolic variable,目前的初始值是2
現在你定義兩個theano.function,乙個實現加二的功能,乙個實現平方的功能:
i = theano.tensor.scalar("i", dtype=theano.config.floatx)
add_two_func = theano.function(inputs=[i], outputs=[i+a])
sqr_func = theano.function(inputs=[i], outputs=[i**a])
i作為乙個輸入變數,通過theano.tensor.scalar來定義。i也是乙個symbolic variable,但是它在定義的時候沒有乙個固定的值。
現在開始實際呼叫加二的函式和平方的函式:
>>> add_two_func(3)
[array(5.0)]
>>> sqr_func(4)
[array(16.0)]
i在呼叫函式的時候,才被賦值。在上例中,i第一次被賦值了3,第二次被賦值了4。而a作為symbolic variable,卻在定義的時候就已經擁有了值:2 。
a之所以叫shared variable是因為a的賦值在不同的函式中都是一致的,即a是被shared的。在上例中a的值在不同的函式中都為2。
對tensor變數切片等操作怎麼進行
5樓:草原上之狼
可以直接取tensor變數的一部分,但是不能給tensor變數賦值
>>> import numpy as np
>>> import theano
>>> from theano.tensor.basic import as_tensor_variable
>>> b=np.random.rand(4,2)
>>> m=as_tensor_variable(b)
>>> m[0][0]
subtensor.0
>>> n=m[0][0] #取m的第乙個值,n是subtensor
>>> n
subtensor.0
>>> n.eval()
array(0.3710058805503049)
>>> m.eval()
array([[ 0.37100588, 0.95565751],
[ 0.86516759, 0.94976681],
[ 0.09564244, 0.65019287],
[ 0.59892358, 0.4180284 ]])
>>> type(m)
>>> m[0][0]=0
traceback (most recent call last):
file "", line 1, in
typeerror: 'tensorvariable' object does not support item assignment
>>> m[0][0].eval()=0
file "", line 1
syntaxerror: can't assign to function call
>>> n =m[1:3] #取m的第23行
>>> n.eval()
array([[ 0.86516759, 0.94976681],
[ 0.09564244, 0.65019287]])
theano怎麼檢視float64
6樓:匿名使用者
theano.tensor.dot(x,y) x,y如果是向量,自動會對y進行轉置 如果是矩陣,要注意對齊
theano程式中怎麼看numpy矩陣的shape
7樓:匿名使用者
theano.tensor.dot(x,y)
x,y如果是向量,自動會對y進行轉置
如果是矩陣,要注意對齊。
一般情況下,乙個樣本應該看做1行n列的向量。
tensor.sub(x,y)
碰到乙個問題,如果x是n行的,y是1行的。
要對x中的每行都減去乙個y。theano中不知道如何寫方便。
好像要用迴圈。就是scan來做。不過scan是對實際的數進行操作的。不是對模型進行定義。而這裡是要對模型定義這樣乙個操作。
用的是符號變數。和theano函式。
試了下直接用sub(x,y)就行了。定義的時候想定義為矩陣,y定義為向量,如果y也定義為矩陣,就無法自動處理,對齊的時候通不過。
numpy.prod(x) 返回x中各元素的乘積。
theano.tensor.n***.conv.conv2d 。巢狀了這麼多層,theano的結構不知道是啥樣的。
這個函式就是2d卷積。具體的使用可以看**n的例子。
這個函式有個image_shape引數,
image_shape (tuple of len 4 of int or contant variable) – (batch size, stack size, nb row, nb col) optional, used for optimization.
這裡的stack size引數是幹什麼用的呢?
tensorflow 除錯時,怎麼看下面的引數的裡面內容
8樓:驚慌夜
程式設計師為什麼要學深度學習? 深度學習本身是乙個非常龐大的知識體系。本文更多想從程式設計師的視角出發,讓大家觀察一下深度學習對程式設計師意味著什麼,以及我們如何利用這樣乙個高速發展的學科,來幫助程式設計師提公升軟體開發的能力。
如何實時檢視linu下的日誌,如何實時檢視linux下的日誌
在linux系統中,有三個主要的日 志子系統 連線時間日誌 由多個程式執行,把紀錄寫入到 var log wtmp和 var run utmp,login等程式更新wtmp和utmp檔案,使系統管理員能夠跟蹤誰在何時登入到系統。程序統計 由系統核心執行。當乙個程序終止時,為每個程序往程序統計檔案 p...
如何檢視網域名稱的NS記錄,如何檢視網域名稱的A記錄 MX記錄 CNAME記錄和NS記錄
內容來自使用者 天成資訊 網域名稱ns記錄是什麼?網域名稱ns記錄應該也算比較常用,比如你在新網買了網域名稱,但你想使用dnspod來解析網域名稱,那么你就需要把dns伺服器換成dnspod的,同時新增網域名稱ns記錄才可以使用。一 什么是網域名稱ns記錄 ns nameserver 記錄是網域名稱...
如何檢視自己購買的基金份額,如何檢視自己的基金申購情況?
一 用身份證登陸登陸你買的 的 公司 密碼是你的身份證後6位數字。登陸進去後,就可以查到你申購到的 份額,每日單位淨值,每日帳面資產等資訊。有的 公司在帳戶初始頁面就可以看到。申購成功後,一般會在第二個交易日查詢到你申購的 份額。二 在 購買的渠道查詢。如果是在銀行購買的,可以帶身份證銀行卡去銀行櫃...