Pytorch の核心であるモデルの定義と構築を突破しましょう! ! !

Pytorch の核心であるモデルの定義と構築を突破しましょう! ! !

こんにちは、Xiaozhuangです!

今日はモデルの定義と構築についてお話ししましょう。初心者に最適です!

ディープラーニングに PyTorch を使用する場合、まずモデルを定義して構築する方法を理解する必要があります。この内容は非常に重要です。

PyTorch では、モデル定義は通常、torch.nn.Module から継承するクラスを作成することによって行われます。

以下は、完全に接続された 1 つの層を持つ単純なニューラル ネットワークを定義する方法の簡単な例です。

 import torch import torch.nn as nn class SimpleNN(nn.Module): def __init__(self, input_size, hidden_size, output_size): super(SimpleNN, self).__init__() self.fc1 = nn.Linear(input_size, hidden_size) self.relu = nn.ReLU() self.fc2 = nn.Linear(hidden_size, output_size) def forward(self, x): x = self.fc1(x) x = self.relu(x) x = self.fc2(x) return x

次に、この例を段階的に説明しましょう。

1. 必要なライブラリをインポートする

import torch import torch.nn as nn

ここで、PyTorch ライブラリとニューラル ネットワーク モジュールがインポートされます。

2. モデルクラスを定義する

class SimpleNN(nn.Module):

nn.Module から継承するクラスを作成します。このクラスは、ニューラル ネットワーク モデルの青写真として機能します。

3. 初期化関数

def __init__(self, input_size, hidden_size, output_size): super(SimpleNN, self).__init__() self.fc1 = nn.Linear(input_size, hidden_size) self.relu = nn.ReLU() self.fc2 = nn.Linear(hidden_size, output_size)

__init__ 関数では、モデルのさまざまなレイヤーを定義します。

この単純なニューラル ネットワークには、入力層 (input_size ディメンション)、隠し層 (hidden_​​size ディメンション)、および出力層 (output_size ディメンション) が含まれています。

nn.Linear は完全接続層を表し、nn.ReLU は活性化関数 ReLU を表します。

4. フォワードプロパゲーション機能

def forward(self, x): x = self.fc1(x) x = self.relu(x) x = self.fc2(x) return x

forward 関数では、モデル内でデータがどのように伝播されるかを定義します。

ここでの伝播順序は、入力データが最初の完全接続層を通過し、次に ReLU 活性化関数を通過し、最後に 2 番目の完全接続層を通過してモデルの出力が得られるというものです。

この簡単な例を使用して、モデルを作成し、データを入力し、次の手順でフォワード パスを実行できます。

 # 定义输入、隐藏和输出层的维度input_size = 10 hidden_size = 20 output_size = 5 # 创建模型实例model = SimpleNN(input_size, hidden_size, output_size) # 随机生成输入数据input_data = torch.randn(32, input_size) # 32是批处理大小# 进行前向传播output = model(input_data) print(output)

これは単純なケースです。同様に、PyTorch は畳み込みニューラル ネットワーク (CNN)、再帰型ニューラル ネットワーク (RNN) など、より複雑なモデルを構築できます。

<<:  7つの変革的技術トレンド:第4次産業革命をリードする

>>:  2024 年の 6 つの主要なテクノロジー トレンドを見据えて、最もホットなテクノロジーをご紹介します。

ブログ    
ブログ    
ブログ    

推薦する

IDCは、米国の人工知能への支出が2025年までに倍増すると予測している

米国のAIへの支出は2025年までに1,200億ドルに増加するだろう。 2021年から2025年の予...

OpenAIの最新の評価額は半年で3倍になり、800億ドルを超える

ウォール・ストリート・ジャーナル紙は、事情に詳しい関係者の話として、OpenAIは同社を800億~9...

機械学習における特徴選択の3つの代替手法

ソレダッド・ガリ翻訳者:趙青棠企画丨孫淑娇、梁策インターネットで「特徴選択」を検索してみると、特徴選...

自然言語処理パート1: テキスト分類器

[[194511]]序文テキスト分類は、自動記事分類、自動メール分類、スパム識別、ユーザー感情分類な...

グーグルの従業員は米国の人工知能プロジェクトへの参加に反対する公開書簡を発表した。「私たちは違う」

[[225697]]最近、テクノロジーの世界で、米国防総省をも巻き込み、大きな騒動を引き起こす出来...

C++ の巨匠、ジョン・カーマック氏: 心配しないでください、私は汎用 AI に取り組むつもりです!

本日、VRの第一人者でありOculusのCTOであるジョン・カーマック氏はFacebookにメッセー...

IBMは今後5年間で全人類に大きな影響を与える5つの主要な技術革新を発表

海外メディアの報道によると、IBMは3月19日に「Five-for-Five」レポートを発表し、世界...

...

...

AIは自分が生成したものを理解できるのか?GPT-4とMidjourneyを試した後、誰かがこの問題を解決した

ChatGPTからGPT4、DALL・E 2/3からMidjourneyまで、生成AIはこれまでにな...

AutoML が大幅に高速化、Google が最適な ML モデルを自動検索する新しいプラットフォームをオープン ソース化

研究者が最適な機械学習モデルを自動的かつ効率的に開発できるようにするために、Google は特定の分...

WaymoとGoogleが自動運転のマルチ軌道行動予測を実現するTNTモデルを提案

はじめに: Waymo は最近、フェニックス地域で安全担当者なしの無人タクシーの運行を開始すると発表...

顔認識は終わったのか?最初の「顔ハイジャック」型バンキングトロイの木馬が誕生

各人の顔、指紋、虹彩の情報はそれぞれ固有であり偽造が困難であるため、生体認証は長年にわたり究極の本人...

機械学習から学習する機械まで、データ分析アルゴリズムにも優れた管理者が必要だ

[[177274]]写真は、IBM Big Data and Analytics のグローバル研究開...