1樓:幹尅阿里看過
變數來代替數值,輸出是乙個0維的numpy.ndarray陣列...import theanoimport numpyimport theano.
tensor as t...photoshop把風景**轉為夢幻的動畫片
theano中怎麼檢視tensorvariable的值,在debug時如何跟蹤這樣的變數
2樓:
瑾瑜 (出自成語――握瑾懷瑜,比喻擁有美好的品德)
如何檢視theano的tensorsharedvariable和tensorvariable變數
3樓:匿名使用者
在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程式中怎麼看numpy矩陣的shape
4樓:匿名使用者
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引數是幹什麼用的呢?
如何賦值給的elementwise矩陣theano?numpy的和theano之間的區別
5樓:淼淼雅景
matrix是array的分支,復matrix和array在很多時候都制是通用的,你用哪乙個都一樣。但這時候,官方建議大家如果兩個可以通用,那就選擇array,因為array更靈活,速度更快,很多人把二維的array也翻譯成矩陣。
但是matrix的優勢就是相對簡單的運算符號,比如兩個矩陣相乘,就是用符號*,但是array相乘不能這麼用,得用方法.dot()
array的優勢就是不僅僅表示二維,還能表示3、4、5...維,而且在大部分python程式裡,array也是更常用的。
python theano中的shared variable是指什麼意思
6樓:匿名使用者
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的keras backend換為theano
7樓:匿名使用者
正確方法 (適用mac和linux系統,windows系統應該差不多,檔案路徑稍有區別):
vim ~/.keras/keras.json
然後將裡面`backend` 對應的值修改為`theano`,如果是想用tensorflow,就修改為`tensorflow`
怎麼讓theano利用多個gpu
8樓:u證
你將反斜槓,換成斜槓看看。最好再將目錄名加上引號。在python世界裡,目錄名裡不要用中文和空格。
從配置上看,這個東西不合理埃前面是乙個變數名。為什麼變數名是乙個目錄名?懷疑你將不兩隻的配置沒有分開。
9樓:杜晶
如果採用tensorflow作為後端,當機器上有可用的gpu時,**會自動呼叫gpu進行平行計算。如果使用theano作為後端,可以通過以下方法設定:
方法1:使用theano標記
在執行python指令碼時使用下面的命令:
theano_flags=device=gpu,floatx=float32 python my_keras_script.py
方法2:設定.theano檔案
方法3:在**的開頭處手動設定theano.config.device和theano.config.floatx
import theano
theano.config.device = 'gpu'
theano.config.floatx = 'float32'
js中字串和數字相加,如何讓其變成數字與數字相加
需要用parseint函式將得到的字串強轉為int型別進行相加就可以了。例如document.getelementbyid number value document.getelementbyid number value 1 如果不用parseint函式強轉,那麼得到的結果只是在原有字串上拼上 1...
怎樣在excel表中讓數字變成數字逗號
設定單元格數值格式中,在使用千分位分隔符前面打鉤就可以了 ctrl 1單元格格式設定 格式中選擇 會計專用 格式 就可以了 設定單元格格式,選數值,在右邊勾選千分位即可。如何excel在數字後批量加上逗號 直接加選定該列,右鍵 設定單元格格式 數字 自定義 型別 輸入 確定即可。比如資料在a列,可在...
C在CLass1中建立的變數如何使其變成公共變數,使任
可以使用靜態變數 如 class class1 使用時用類名.變數名就好,如class1.var1 50 在c 裡沒有全域性變數的概念!但是,如果你想定義某個變數具有全域性功能的話,你可以用public 和static來定義。最好是定義在某個類裡面。比如 定義乙個全域性的整型變數 假設在 useri...