Pytorch の最も重要な 9 つの操作! ! !

Pytorch の最も重要な 9 つの操作! ! !

今日は、pytorch についてお話します。今日は、9 つ​​の最も重要な pytorch 操作をまとめました。これにより、全体的な概念が確実に理解できるようになります。

テンソルの作成と基本操作

PyTorch テンソルは NumPy 配列に似ていますが、GPU アクセラレーションと自動微分化を提供します。テンソルは、torch.tensor を通じて、または torch.zeros や torch.ones などの関数を使用して作成できます。

 import torch # 创建张量a = torch.tensor([1, 2, 3]) b = torch.tensor([4, 5, 6]) # 张量加法c = a + b print(c)

オートグラッド

torch.autograd モジュールは自動微分化のメカニズムを提供し、操作を記録し、勾配を計算できるようにします。

 x = torch.tensor([1.0], requires_grad=True) y = x**2 y.backward() print(x.grad)

ニューラルネットワーク層 (nn.Module)

torch.nn.Module は、ニューラル ネットワークを構築するための基本コンポーネントです。線形層 (nn.Linear)、畳み込み層 (nn.Conv2d) など、さまざまな層を含めることができます。

 import torch.nn as nn class SimpleNN(nn.Module): def __init__(self): super(SimpleNN, self).__init__() self.fc = nn.Linear(10, 5) def forward(self, x): return self.fc(x) model = SimpleNN()

オプティマイザ

オプティマイザーは、損失関数を最小化するためにモデル パラメータを調整するために使用されます。以下は、確率的勾配降下法 (SGD) オプティマイザーを使用した例です。

 import torch.optim as optim optimizer = optim.SGD(model.parameters(), lr=0.01)

損失関数

損失関数は、モデル出力とターゲット間のギャップを測定するために使用されます。たとえば、クロスエントロピー損失は分類問題に適しています。

 loss_function = nn.CrossEntropyLoss()

データの読み込みと前処理

PyTorch の torch.utils.data モジュールは、データの読み込みと前処理のための Dataset クラスと DataLoader クラスを提供します。データセット クラスは、さまざまなデータ形式やタスクに合わせてカスタマイズできます。

 from torch.utils.data import DataLoader, Dataset class CustomDataset(Dataset): # 实现数据集的初始化和__getitem__方法dataloader = DataLoader(dataset, batch_size=64, shuffle=True)

モデルの保存と読み込み

torch.save を使用してモデルの状態辞書を保存し、torch.load を使用してモデルを読み込むことができます。

 # 保存模型torch.save(model.state_dict(), 'model.pth') # 加载模型loaded_model = SimpleNN() loaded_model.load_state_dict(torch.load('model.pth'))

学習率調整

torch.optim.lr_scheduler モジュールは、学習率のスケジューリングのためのツールを提供します。たとえば、StepLR を使用して、各エポックの後に学習率を下げることができます。

 from torch.optim import lr_scheduler scheduler = lr_scheduler.StepLR(optimizer, step_size=5, gamma=0.1)

モデル評価

モデルのトレーニングが完了したら、モデルのパフォーマンスを評価する必要があります。評価するときは、モデルを評価モード (model.eval()) に切り替え、torch.no_grad() コンテキスト マネージャーを使用して勾配計算を回避する必要があります。

 model.eval() with torch.no_grad(): # 运行模型并计算性能指标

<<:  超強力なPytorchオペレーション! ! !

>>:  GitHub の年末特典: プログラミング チャットボットがすべてのユーザーに公開され、ネットユーザーはこれをゲームチェンジャーと呼ぶ

ブログ    
ブログ    
ブログ    

推薦する

2020年、アルゴリズムの話題が主流になる年

[[397576]]システムに閉じ込められた配達員から人々が飽きることのないソーシャルメディアまで、...

5GはAI、クラウド、エッジコンピューティングで爆発的に成長する

5G時代が到来し、あらゆる分野がその将来の発展に向けて準備を進めています。最近、OPPOは、Futu...

自動運転における車線逸脱警報システムの技術サポート

無人運転技術にはまだ改善の余地があるものの、ますます成熟しつつあることは認めざるを得ません。車線逸脱...

人工知能はマーケティングをどのように変えるのでしょうか?

今日でも、私たちは人工知能 (AI) を未来のテクノロジーだと考えています。そのため、この分野で起こ...

...

賢い負荷分散アルゴリズム: 頭を使って

負荷分散技術は現在ではどこにでもありますが、基本的にはまだ使用段階であり、その核心は十分に理解されて...

2022年スタンフォードAIインデックス発表:中国がAIジャーナルの出版と引用で1位、TFオープンソースライブラリが最も人気

人工知能の分野では、スタンフォード大学が開始したAIインデックスは、AIの動向と進歩を追跡する非営利...

...

高齢者介護の問題がますます顕著になり、人工知能が大きな注目を集めている

[[431999]]新しい世代が古い世代に取って代わると、古い世代はどこへ行くのでしょうか。今日、2...

人間が理解できる音声を合成するために、機械はどのような「ディープラーニング」を行っているのでしょうか?

ディープラーニングは2006年に登場して以来、近年急速に発展し、学術研究と企業アプリケーションの両方...

OSPFはSPFアルゴリズムを使用してルートを伝播します

SPF アルゴリズムは、各ルータをルートとして使用して、各宛先ルータまでの距離を計算します。各ルータ...

超大型モデルの登場でAIはゲームオーバーになるのか?ゲイリー・マーカス:道は狭くなっている

最近、人工知能技術は大規模モデルにおいて飛躍的な進歩を遂げています。昨日、Google が提案した ...

エッジコンピューティングにおける AI の利点

エッジと極端エッジの間でこれがどのように展開するか、また無線アクセス ネットワークにどのような階層が...

トレンドマイクロ:2030年までにAIがサイバーセキュリティ担当者に取って代わる

トレンドマイクロは、2021年に向けて、サイバー犯罪者がホームネットワークを利用して企業のITおよび...

ChatGPTはPyTorchなしでは構築できません。LeCunの発言は白熱した議論を引き起こしました。モデルメーカーが重量を公開しない理由は、

ここ2日間で、オープンソースの話題が再び人気を集めています。 「オープンソースがなければ、AI は何...