成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深度學習Pytorch框架Tensor張量

人工智能 深度學習
本文主要介紹了Tensor的裁剪運算、索引與數據篩選、組合/拼接、切片、變形操作、填充操作和Tensor的頻譜操作(傅里葉變換)。

[[433522]]

 1 Tensor的裁剪運算

  •  對Tensor中的元素進行范圍過濾
  •  常用于梯度裁剪(gradient clipping),即在發生梯度離散或者梯度爆炸時對梯度的處理
  •  torch.clamp(input, min, max, out=None) → Tensor:將輸入input張量每個元素的夾緊到區間 [min,max],并返回結果到一個新張量。

2 Tensor的索引與數據篩選

  •  torch.where(codition,x,y):按照條件從x和y中選出滿足條件的元素組成新的tensor,輸入參數condition:條件限制,如果滿足條件,則選擇a,否則選擇b作為輸出。
  •  torch.gather(input,dim,index,out=None):在指定維度上按照索引賦值輸出tensor
  •  torch.inex_select(input,dim,index,out=None):按照指定索引賦值輸出tensor
  •  torch.masked_select(input,mask,out=None):按照mask輸出tensor,輸出為向量
  •  torch.take(input,indices):將輸入看成1D-tensor,按照索引得到輸出tensor
  •  torch.nonzero(input,out=None):輸出非0元素的坐標 
  1. import torch  
  2. #torch.where  
  3. a = torch.rand(4, 4)  
  4. b = torch.rand(4, 4)  
  5. print(a)  
  6. print(b)  
  7. out = torch.where(a > 0.5, a, b)  
  8. print(out) 

 

  1. print("torch.index_select")  
  2. a = torch.rand(4, 4)  
  3. print(a)  
  4. out = torch.index_select(a, dim=0 
  5.                    index=torch.tensor([0, 3, 2]))  
  6. #dim=0按列,index取的是行  
  7. print(out, out.shape) 

 

  1. print("torch.gather")  
  2. a = torch.linspace(1, 16, 16).view(4, 4)  
  3. print(a)  
  4. out = torch.gather(a, dim=0 
  5.              index=torch.tensor([[0, 1, 1, 1],  
  6.                                  [0, 1, 2, 2],  
  7.                                  [0, 1, 3, 3]]))  
  8. print(out)  
  9. print(out.shape)  
  10. #注:從0開始,第0列的第0個,第一列的第1個,第二列的第1個,第三列的第1個,,,以此類推  
  11. #dim=0, out[i, j, k] = input[index[i, j, k], j, k]  
  12. #dim=1, out[i, j, k] = input[i, index[i, j, k], k] 
  13. #dim=2, out[i, j, k] = input[i, j, index[i, j, k]] 

 

  1. print("torch.masked_index")  
  2. a = torch.linspace(1, 16, 16).view(4, 4)  
  3. mask = torch.gt(a, 8)  
  4. print(a)  
  5. print(mask)  
  6. out = torch.masked_select(a, mask)  
  7. print(out) 

 

  1. print("torch.take")  
  2. a = torch.linspace(1, 16, 16).view(4, 4)  
  3. b = torch.take(a, index=torch.tensor([0, 15, 13, 10]))  
  4. print(b) 

 

  1. #torch.nonzero  
  2. print("torch.take")  
  3. a = torch.tensor([[0, 1, 2, 0], [2, 3, 0, 1]])  
  4. out = torch.nonzero(a)  
  5. print(out)  
  6. #稀疏表示 

3 Tensor的組合/拼接

  •  torch.cat(seq,dim=0,out=None):按照已經存在的維度進行拼接
  •  torch.stack(seq,dim=0,out=None):沿著一個新維度對輸入張量序列進行連接。序列中所有的張量都應該為相同形狀。 
  1. print("torch.stack")  
  2. a = torch.linspace(1, 6, 6).view(2, 3)  
  3. b = torch.linspace(7, 12, 6).view(2, 3)  
  4. print(a, b)  
  5. out = torch.stack((a, b), dim=2 
  6. print(out)  
  7. print(out.shape)  
  8. print(out[:, :, 0])  
  9. print(out[:, :, 1]) 

4 Tensor的切片

  •  torch.chunk(tensor,chunks,dim=0):按照某個維度平均分塊(最后一個可能小于平均值)
  •  torch.split(tensor,split_size_or_sections,dim=0):按照某個維度依照第二個參數給出的list或者int進行分割tensor

5 Tensor的變形操作

  •  torch().reshape(input,shape)
  •  torch().t(input):只針對2D tensor轉置
  •  torch().transpose(input,dim0,dim1):交換兩個維度
  •  torch().squeeze(input,dim=None,out=None):去除那些維度大小為1的維度
  •  torch().unbind(tensor,dim=0):去除某個維度
  •  torch().unsqueeze(input,dim,out=None):在指定位置添加維度,dim=-1在最后添加
  •  torch().flip(input,dims):按照給定維度翻轉張量
  •  torch().rot90(input,k,dims):按照指定維度和旋轉次數進行張量旋轉 
  1. import torch  
  2. a = torch.rand(2, 3)  
  3. print(a)  
  4. out = torch.reshape(a, (3, 2))  
  5. print(out) 

 

  1. print(a)  
  2. print(torch.flip(a, dims=[2, 1]))  
  3. print(a)  
  4. print(a.shape)  
  5. out = torch.rot90(a, -1, dims=[0, 2]) #順時針旋轉90°    
  6. print(out)  
  7. print(out.shape) 

6 Tensor的填充操作

  •  torch.full((2,3),3.14)

7 Tensor的頻譜操作(傅里葉變換)

 

 

責任編輯:龐桂玉 來源: 深度學習這件小事
相關推薦

2024-03-01 20:55:40

Pytorch張量Tensor

2022-11-25 07:35:57

PyTorchPython學習框架

2018-07-03 15:59:14

KerasPyTorch深度學習

2017-03-01 09:05:27

PyTorchPython框架

2024-01-05 17:15:21

pytorchtensor深度學習

2021-11-27 05:03:09

框架深度學習

2019-09-01 19:19:04

TensorFlowPyTorch深度學習

2017-03-06 15:25:47

PyTorchMxnet深度學習

2017-09-05 10:20:30

PyTorchTensorPython

2017-01-19 16:21:12

PyTorch軟件深度學習

2022-01-06 10:04:17

深度學習編程人工智能

2019-03-06 09:55:54

Python 開發編程語言

2019-06-26 05:29:44

深度學習KerasPyTorch

2016-12-15 09:44:31

框架Caffe源碼

2024-10-22 15:51:42

PyTorch張量

2017-05-31 08:45:03

2025-04-27 09:59:38

深度學習AI人工智能

2019-11-19 09:58:16

機器學習人工智能框架

2022-09-21 10:40:57

TensorFlowPyTorchJAX

2023-12-18 10:41:28

深度學習NumPyPyTorch
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区四区在线视频 | 国产在线精品一区 | 91精品国产高清久久久久久久久 | 黄色毛片一级 | av一二三区 | 色婷婷综合久久久中文字幕 | 影音先锋中文字幕在线观看 | 国产一级影片 | 一道本不卡视频 | 夜夜爽99久久国产综合精品女不卡 | 亚洲一页| 91成人在线视频 | 麻豆av在线免费观看 | 国产成人在线播放 | 国产成人综合一区二区三区 | 日本午夜免费福利视频 | 欧美日韩国产三级 | 成人在线视频网站 | 久久精品成人 | 国产色网| 亚洲精品成人 | 久日精品 | 久久综合久久久 | 91精品国产高清一区二区三区 | 欧美激情亚洲天堂 | 欧美日韩久久 | 欧美日韩电影一区二区 | 国产精品美女一区二区 | 日韩在线观看一区 | 亚洲精品久久久一区二区三区 | 有码一区 | 天天摸天天看 | 草草视频在线观看 | 99自拍视频 | 91欧美| 欧美三级视频在线观看 | 成人高清网站 | 日韩精品一区二区久久 | 欧美一级久久 | 精品视频久久久久久 | 久久久久久久一区 |