濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > Pytorch之?dāng)U充tensor的操作

Pytorch之?dāng)U充tensor的操作

熱門標(biāo)簽:qt百度地圖標(biāo)注 螳螂科技外呼系統(tǒng)怎么用 地圖地圖標(biāo)注有嘆號(hào) 遼寧智能外呼系統(tǒng)需要多少錢 阿里電話機(jī)器人對話 400電話申請資格 正安縣地圖標(biāo)注app 舉辦過冬奧會(huì)的城市地圖標(biāo)注 電銷機(jī)器人系統(tǒng)廠家鄭州

我就廢話不多說了,大家還是直接看代碼吧~

b = torch.zeros((3, 2, 6, 6))
a = torch.zeros((3, 2, 1, 1))
a.expand_as(b).size()
Out[32]: torch.Size([3, 2, 6, 6])
a = torch.zeros((3, 2, 2, 1))
a.expand_as(b).size()
Traceback (most recent call last):
 File "/home/lart/.conda/envs/pt/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 3267, in run_code
  exec(code_obj, self.user_global_ns, self.user_ns)
 File "ipython-input-34-972575f79e92>", line 1, in module>
  a.expand_as(b).size()
RuntimeError: The expanded size of the tensor (6) must match the existing size (2) at non-singleton dimension 2. Target sizes: [3, 2, 6, 6]. Tensor sizes: [3, 2, 2, 1]
a = torch.zeros((3, 2, 1, 2))
a.expand_as(b).size()
Traceback (most recent call last):
 File "/home/lart/.conda/envs/pt/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 3267, in run_code
  exec(code_obj, self.user_global_ns, self.user_ns)
 File "ipython-input-36-972575f79e92>", line 1, in module>
  a.expand_as(b).size()
RuntimeError: The expanded size of the tensor (6) must match the existing size (2) at non-singleton dimension 3. Target sizes: [3, 2, 6, 6]. Tensor sizes: [3, 2, 1, 2]
a = torch.zeros((3, 2, 2, 2))
a.expand_as(b).size()
Traceback (most recent call last):
 File "/home/lart/.conda/envs/pt/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 3267, in run_code
  exec(code_obj, self.user_global_ns, self.user_ns)
 File "ipython-input-38-972575f79e92>", line 1, in module>
  a.expand_as(b).size()
RuntimeError: The expanded size of the tensor (6) must match the existing size (2) at non-singleton dimension 3. Target sizes: [3, 2, 6, 6]. Tensor sizes: [3, 2, 2, 2]
a = torch.zeros((3, 2, 6, 2))
a.expand_as(b).size()
Traceback (most recent call last):
 File "/home/lart/.conda/envs/pt/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 3267, in run_code
  exec(code_obj, self.user_global_ns, self.user_ns)
 File "ipython-input-40-972575f79e92>", line 1, in module>
  a.expand_as(b).size()
RuntimeError: The expanded size of the tensor (6) must match the existing size (2) at non-singleton dimension 3. Target sizes: [3, 2, 6, 6]. Tensor sizes: [3, 2, 6, 2]
a = torch.zeros((3, 2, 6, 1))
a.expand_as(b).size()
Out[44]: torch.Size([3, 2, 6, 6])
a = torch.zeros((3, 2, 1, 6))
a.expand_as(b).size()
Out[46]: torch.Size([3, 2, 6, 6])

tensor.expand_as在這里用于擴(kuò)展tensor到目標(biāo)形狀,常用的多是在H和W方向上的擴(kuò)展。

假設(shè)目標(biāo)形狀為N, C, H, W,則要求tensor.size()=n, c, h, w(這里假設(shè)N,C不變):

1、h=w=1

2、h=1, w!=1

3、h!=1, w=1

補(bǔ)充:tensorflow 利用expand_dims和squeeze擴(kuò)展和壓縮tensor維度

在利用tensorflow進(jìn)行文本挖掘工作的時(shí)候,經(jīng)常涉及到維度擴(kuò)展和壓縮工作。

比如對文本進(jìn)行embedding操作完成之后,若要進(jìn)行卷積操作,就需要對embedded的向量擴(kuò)展維度,將[batch_size, embedding_dims]擴(kuò)展成為[batch_size, embedding_dims, 1],利用tf.expand_dims(input, -1)就可實(shí)現(xiàn),反過來用squeeze(input, -1)或者tf.squeeze(input)也可以把最第三維去掉。

tf.expand_dims()

tf.squeeze()

tf.expand_dims()

tf.expand_dims(input, axis=None, name=None, dim=None)

在第axis位置增加一個(gè)維度.

給定張量輸入,此操作在輸入形狀的維度索引軸處插入1的尺寸。 尺寸索引軸從零開始; 如果您指定軸的負(fù)數(shù),則從最后向后計(jì)數(shù)。

如果要將批量維度添加到單個(gè)元素,則此操作非常有用。 例如,如果您有一個(gè)單一的形狀[height,width,channels],您可以使用expand_dims(image,0)使其成為1個(gè)圖像,這將使形狀[1,高度,寬度,通道]。

例子

# 't' is a tensor of shape [2]
shape(expand_dims(t, 0)) ==> [1, 2]
shape(expand_dims(t, 1)) ==> [2, 1]
shape(expand_dims(t, -1)) ==> [2, 1]
# 't2' is a tensor of shape [2, 3, 5]
shape(expand_dims(t2, 0)) ==> [1, 2, 3, 5]
shape(expand_dims(t2, 2)) ==> [2, 3, 1, 5]
shape(expand_dims(t2, 3)) ==> [2, 3, 5, 1]

tf.squeeze()

tf.squeeze(input, axis=None, name=None, squeeze_dims=None)

直接上例子

# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
 shape(squeeze(t)) ==> [2, 3]
# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
 shape(squeeze(t, [2, 4])) ==> [1, 2, 3, 1]

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • PyTorch中Tensor的數(shù)據(jù)類型和運(yùn)算的使用
  • 對Pytorch中Tensor的各種池化操作解析
  • 詳解PyTorch中Tensor的高階操作
  • pytorch教程之Tensor的值及操作使用學(xué)習(xí)

標(biāo)簽:信陽 淘寶好評回訪 濟(jì)源 合肥 昭通 阜新 興安盟 隨州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Pytorch之?dāng)U充tensor的操作》,本文關(guān)鍵詞  Pytorch,之,擴(kuò)充,tensor,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Pytorch之?dāng)U充tensor的操作》相關(guān)的同類信息!
  • 本頁收集關(guān)于Pytorch之?dāng)U充tensor的操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    友谊县| 沧源| 平顶山市| 青阳县| 镇宁| 两当县| 灵丘县| 凉山| 平顶山市| 临朐县| 桐乡市| 南江县| 柳林县| 丹寨县| 东光县| 当阳市| 鄂托克前旗| 怀柔区| 临江市| 凤凰县| 玉溪市| 玛沁县| 阿拉善右旗| 会泽县| 通榆县| 贡山| 乃东县| 焦作市| 大竹县| 忻城县| 隆化县| 高清| 霍城县| 凤山县| 东至县| 响水县| 塔城市| 永善县| 正蓝旗| 泗水县| 习水县|