MindSpore運算元支援類

2021-10-17 09:05:09 字數 2014 閱讀 7289

mindspore運算元支援類

q:在使用conv2d進行卷積定義的時候使用到了group的引數,group的值不是只需要保證可以被輸入輸出的維度整除即可了嗎?group引數的傳遞方式是怎樣的呢?

a:conv2d運算元是有這個約束條件的:當group大於1 時,其值必須要與輸入輸出的通道數相等。不要使用ops.conv2d,這個運算元目前不支援group>1。目前mindspore只有nn.conv2d介面支援組卷積,但是有group要與輸入輸出的通道數相等的約束。 conv2d運算元的

definit(self,

out_channel,

kernel_size,

mode=1,

pad_mode=「valid」,

pad=0,

stride=1,

dilation=1,

group=1,

data_format=「nchw」):

函式中帶有group引數,這個引數預設就會被傳到c++層。

q:convolution layers有沒有提供3d卷積?

a:目前mindspore在ascend上有支援3d卷積的計畫。可以關注官網的支援列表,等到運算元支援後會在表中展示。

q:mindspore支援矩陣轉置嗎?

a:支援,請參考mindspore.ops.transpose的運算元教程。

q:請問mindspore能算給定任意乙個tensor的方差嗎?

a: mindspore目前暫無可以直接求出tensor方差的運算元或介面。不過mindspore有足夠多的小運算元可以支援使用者實現這樣的操作,可以參考class moments(cell)來實現。

q:使用mindspore-1.0.1版本在圖資料下沉模式載入資料異常,是什麼原因?

a:應該是construct中直接使用了帶有axis屬性的運算元,比如p.concat(axis=1)((x1, x2))這種,建議把運算元在__init__中初始化:

from mindspore import nn

from mindspore.ops import operations as p

class net(nn.cell):

definit(self):

super(net, self).init()

self.concat = p.concat(axis=1)

def construct(self, x, y):

out = self.concat((x, y))

return out

q:nn.embedding層與pytorch相比缺少了padding操作,有其餘的運算元可以實現嗎?

a:在pytorch中padding_idx的作用是將embedding矩陣中padding_idx位置的詞向量置為0,並且反向傳播時不會更新padding_idx位置的詞向量。在mindspore中,可以手動將embedding的padding_idx位置對應的權重初始化為0,並且在訓練時,通過mask的操作,過濾掉padding_idx位置對應的loss。

q:operations中tile運算元執行到__infer__時,value值為none,丟失了數值是怎麼回事?

a:tile運算元的multiples input必須是乙個常量(該值不能直接或間接來自於圖的輸入)。否則,構圖的時候,會拿到乙個none的資料,因為圖的輸入是在圖執行的時候才傳下去的,構圖的時候拿不到圖的輸入資料。 相關的資料可以看靜態圖語法支援。

q:官網的lstm示例在ascend上跑不通。

a:目前lstm只支援在gpu和cpu上執行,暫不支援硬體環境,可以通過mindspore運算元支援列表檢視運算元支援情況。

q:conv2d設定為(3,10),tensor[2,2,10,10],在modelarts上利用ascend跑,報錯:fm_w+pad_left+pad_right-kw>=stridew,cpu下不報錯。

a:這是tbe這個運算元的限制,x的width必須大於kernel的width。cpu的這個運算元沒有這個限制,所以不報錯。

MindSpore運算元支援類

mindspore運算元支援類 q 在使用conv2d進行卷積定義的時候使用到了group的引數,group的值不是只需要保證可以被輸入輸出的維度整除即可了嗎?group引數的傳遞方式是怎樣的呢?a conv2d運算元是有這個約束條件的 當group大於1 時,其值必須要與輸入輸出的通道數相等。不要...

MindSpore特性支援類

mindspore特性支援類 q 請問mindspore支援梯度截斷嗎?a 支援,可以參考梯度截斷的定義和使用。q 如何在訓練神經網路過程中對計算損失的超引數進行改變?a 暫時還未有這樣的功能。目前只能通過訓練 重新定義優化器 訓練,這樣的過程尋找較優的超引數。q 第一次看到有專門的資料處理框架,能...

運算元據類m

using system using system.collections.generic using system.linq using system.text using system.threading.tasks using system.data.sqlclient 造連線物件 sqlco...