如何讓theano變數變成陣列使用

2021-03-04 01:51:21 字數 4091 閱讀 8265

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...