ディープラーニング Pytorch フレームワーク Tensor

ディープラーニング Pytorch フレームワーク Tensor

[[433522]]

1 テンソル刈り込み操作

  • テンソル内の要素を範囲でフィルタリングする
  • 勾配クリッピング、つまり勾配の離散性や勾配爆発が発生したときの勾配の処理によく使用されます。
  • torch.clamp(input, min, max, out=None) → テンソル: 入力テンソルの各要素を [min, max] の区間にクランプし、結果を新しいテンソルに返します。

2 テンソルインデックスとデータフィルタリング

  • torch.where(codition,x,y): 条件に従って新しいテンソルを形成するために、x と y から条件を満たす要素を選択します。入力パラメータ condition: 条件制限。条件が満たされた場合は a を選択し、そうでない場合は出力として b を選択します。
  • torch.gather(input,dim,index,out=None): 指定された次元のインデックス割り当てに従ってテンソルを出力します。
  • torch.inex_select(input, dim, index, out=None): 指定されたインデックスに従って出力テンソルを割り当てます。
  • torch.masked_select(input,mask,out=None): マスクに従ってテンソルを出力し、ベクトルとして出力します。
  • torch.take(input,indices): 入力を1Dテンソルとして扱い、インデックスに従って出力テンソルを取得します。
  • torch.nonzero(input,out=None): ゼロ以外の要素の座標を出力する
  1. 輸入トーチ 
  2. #トーチ.どこ 
  3. a =トーチ.rand (4, 4)  
  4. b =トーチ.rand (4, 4)  
  5. 印刷(a)  
  6. 印刷(b)  
  7. 出力= torch.where (a > 0.5, a, b)  
  8. 印刷する)

  1. 印刷("torch.index_select")  
  2. a =トーチ.rand (4, 4)  
  3. 印刷(a)  
  4. 出力= torch.index_select (a, dim = 0 ,  
  5. インデックス= torch.tensor ([0, 3, 2]))  
  6. # dim = 0は列単位、インデックスは行単位 
  7. 出力を印刷します。

  1. 印刷("torch.gather")  
  2. a = torch.linspace (1, 16, 16).view(4, 4)  
  3. 印刷(a)  
  4. 出力= torch.gather (a, dim = 0 ,  
  5. インデックス= torch.tensor ([[0, 1, 1, 1],  
  6. [0, 1, 2, 2],  
  7. [0, 1, 3, 3]]))  
  8. 印刷する)  
  9. 印刷(out.shape)  
  10. #注: 0 から始まり、0 列目に 0 番目、1 列目に 1 番目、2 列目に 1 番目、3 列目に 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. 印刷("torch.masked_index")  
  2. a = torch.linspace (1, 16, 16).view(4, 4)  
  3. マスク= torch.gt (a, 8)  
  4. 印刷(a)  
  5. 印刷(マスク)  
  6. 出力= torch.masked_select (a, マスク)  
  7. 印刷する)

  1. print("torch.take")  
  2. a = torch.linspace (1, 16, 16).view(4, 4)  
  3. b = torch.take (a、インデックス= torch.tensor ([0, 15, 13, 10]))  
  4. 印刷(b)

  1. #トーチ.非ゼロ 
  2. print("torch.take")  
  3. a =トーチ.テンソル([[0, 1, 2, 0], [2, 3, 0, 1]])  
  4. 出力= torch.nonzero (a)  
  5. 印刷する)  
  6. #スパース表現

3 テンソルの結合/連結

  • 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 =トーチ.linspace (7, 12, 6).view(2, 3)  
  4. 印刷(a, b)  
  5. 出力= torch.stack ((a, b), dim = 2 )  
  6. 印刷する)  
  7. 印刷(out.shape)  
  8. print(out[:, :, 0])  
  9. print(out[:, :, 1])

4 テンソルスライス

  • torch.chunk(tensor,chunks,dim=0): 特定の次元に従ってチャンクを均等に分割します (最後のチャンクは平均よりも小さくなる場合があります)
  • torch.split(tensor,split_size_or_sections,dim=0): 2番目のパラメータで指定されたリストまたは整数に従って、特定の次元に従ってテンソルを分割します。

5 テンソル変形演算

  • torch().reshape(入力,形状)
  • torch().t(入力): 2Dテンソル転置のみ
  • torch().transpose(input, dim0, dim1): 2つの次元を入れ替える
  • 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. 輸入トーチ 
  2. a =トーチ.rand (2, 3)  
  3. 印刷(a)  
  4. 出力= torch.reshape (a, (3, 2))  
  5. 印刷する)

  1. 印刷(a)  
  2. 印刷(torch.flip(a, dims = [2, 1]))  
  3. 印刷(a)  
  4. 印刷(a.shape)  
  5. out = torch.rot90 (a, -1, dims =[0, 2]) #時計回りに90°回転 
  6. 印刷する)  
  7. 印刷(out.shape)

6 テンソルパディング演算

  • トーチ.full((2,3),3.14)

7 テンソルのスペクトル演算(フーリエ変換)

<<:  トロント大学のデュヴノーチームは確率微分方程式を組み合わせて、無限深ベイズニューラルネットワークを提案した。

>>:  自動運転テストシステムを1つの記事で理解する

ブログ    
ブログ    
ブログ    

推薦する

世界的な「AI+教育」の波が到来、第3回AIAEDグローバルAIインテリジェントアダプティブ教育サミットのハイライトは「ネタバレ」

最近、ファーウェイの創業者任正非氏はインタビューで、自分が最も関心を持っている問題は基礎科学研究と教...

Reddit で話題: 言葉では言い表せない写真に透かしを追加することに特化したアプリが AI によって解読されました!

ベルギーの通信会社は、10代の若者向けに「.comdom」というセキュリティアプリをリリースした。こ...

素晴らしい操作です!たった5行のコードで画像認識AIが作れる

この記事では、人工知能の分野、特にコンピューター ビジョンの分野について簡単に紹介し、そこに含まれる...

Frontier Insights: VRヘルメットをかぶって操作できるロボット

Frontier Insightsの今号では、VRで制御できるロボット プログラム、フル充電で消毒剤...

[ホワイトベアおもしろ事実4] パーフェクトワールド:ペットの犬にはロボットがいて、独身の犬にはバーチャルガールフレンドがいる

[[185884]]飼い犬用のロボットを設計した人や、独身者向けのバーチャルガールフレンドを作った人...

AI の成功のための 10 の重要な役割

あらゆる業界でますます多くの企業がビジネス プロセスを変革するために人工知能 (AI) を導入してい...

...

...

ナレッジグラフは人気があります。今すぐ選んでみませんか。

[51CTO.comより引用] モバイルインターネットの発展に伴い、あらゆるものの相互接続が可能に...

SFが現実になる?偉大な劉慈欣がAI企業に入社

[[411067]]サイエンスフィクションと現実がこれほど近づいたことはかつてありませんでした。 「...

...

「機械」が他より賢く、「技術」が他より劣っているという観察と思考

[[277716]] 9月21日、CCTV-1の「スーパースマート」番組では、杭州の霊隠寺に毎日訪れ...

エッジにおける AI について知っておくべきことすべて

近年、人工知能の応用は世界中で大きな進歩を遂げています。職場でのビジネス活動の拡大に伴い、クラウド ...