検索
ホームページテクノロジー周辺機器AIPyTorch を使用して簡単なニューラル ネットワークを作成する方法

PyTorch を使用して簡単なニューラル ネットワークを作成する方法

PyTorch は、さまざまなニューラル ネットワークを構築するための Python ベースの深層学習フレームワークです。この記事では、PyTorch を使用して単純なニューラル ネットワークを構築する方法を示し、コード例を示します。

まず、PyTorch をインストールする必要があります。次のコマンドを使用して、コマンド ラインからインストールできます:

pip install torch

次に、PyTorch を使用して、バイナリ分類タスク用の単純な完全接続ニューラル ネットワークを構築します。このニューラル ネットワークには、それぞれ 10 個のニューロンを持つ 2 つの隠れ層があります。シグモイド活性化関数とクロスエントロピー損失関数を使用します。

完全なコードは次のとおりです:

import torch
import torch.nn as nn
import torch.optim as optim

# 定义神经网络模型
class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.fc1 = nn.Linear(2, 10)  # 第一个隐藏层
        self.fc2 = nn.Linear(10, 10)  # 第二个隐藏层
        self.fc3 = nn.Linear(10, 1)  # 输出层

    def forward(self, x):
        x = torch.sigmoid(self.fc1(x))
        x = torch.sigmoid(self.fc2(x))
        x = torch.sigmoid(self.fc3(x))
        return x

# 创建数据集
X = torch.tensor([[0, 0], [0, 1], [1, 0], [1, 1]], dtype=torch.float32)
y = torch.tensor([[0], [1], [1], [0]], dtype=torch.float32)

# 创建神经网络实例
net = Net()

# 定义损失函数和优化器
criterion = nn.BCELoss()
optimizer = optim.SGD(net.parameters(), lr=0.1)

# 训练神经网络
for epoch in range(10000):
    optimizer.zero_grad()
    output = net(X)
    loss = criterion(output, y)
    loss.backward()
    optimizer.step()

    # 打印训练损失
    if epoch % 1000 == 0:
    print('Epoch {}: loss = {}'.format(epoch, loss.item()))

# 使用训练好的神经网络进行预测
with torch.no_grad():
    output = net(X)
    predicted = (output > 0.5).float()
    print('Predicted: {}\n'.format(predicted))

まず、nn.Module を継承する Net という名前のクラスを定義します。このクラスには、ニューラル ネットワークのすべての層が含まれています。この例では、3 つの完全に接続された層を定義します。最初の 2 つは隠れ層で、最後の 1 つは出力層です。

Net クラスでは、ニューラル ネットワークの順方向伝播プロセスを記述する forward メソッドの定義に加えて、シグモイド活性化関数を使用して各隠れ層の出力を渡します。次のレベルへ。

次に、それぞれ 2 つの特徴を持つ 4 つのサンプルを含むデータセットを作成しました。また、net という名前のニューラル ネットワーク インスタンスを定義し、損失関数として BCELoss を選択し、オプティマイザーとして SGD を選択しました。

次に、ニューラル ネットワークのトレーニングを開始します。各反復では、まずオプティマイザーの勾配をゼロにしてから、データセット X をニューラル ネットワークに渡して出力を取得します。損失を計算してバックプロパゲーションを実行し、最後にオプティマイザーを使用してネットワーク パラメーターを更新します。また、1000 回の反復ごとにトレーニング損失も出力しました。

トレーニングが完了したら、no_grad コンテキスト マネージャーを使用してデータセットの予測を行います。 4つの予測を出力して印刷します。

これは、PyTorch を使用して基本的なニューラル ネットワークを構築する方法を示す簡単な例です。 PyTorch は、ニューラル ネットワークをより簡単に構築およびトレーニングするのに役立つ多くのツールと機能を提供します。

以上がPyTorch を使用して簡単なニューラル ネットワークを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は网易伏羲で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Gemma Scope:AI'の思考プロセスを覗くためのGoogle'の顕微鏡Gemma Scope:AI'の思考プロセスを覗くためのGoogle'の顕微鏡Apr 17, 2025 am 11:55 AM

ジェマの範囲で言語モデルの内部の仕組みを探る AI言語モデルの複雑さを理解することは、重要な課題です。 包括的なツールキットであるGemma ScopeのGoogleのリリースは、研究者に掘り下げる強力な方法を提供します

ビジネスインテリジェンスアナリストは誰で、どのようになるか?ビジネスインテリジェンスアナリストは誰で、どのようになるか?Apr 17, 2025 am 11:44 AM

ビジネスの成功のロック解除:ビジネスインテリジェンスアナリストになるためのガイド 生データを組織の成長を促進する実用的な洞察に変換することを想像してください。 これはビジネスインテリジェンス(BI)アナリストの力です - GUにおける重要な役割

SQLに列を追加する方法は? - 分析VidhyaSQLに列を追加する方法は? - 分析VidhyaApr 17, 2025 am 11:43 AM

SQLの変更テーブルステートメント:データベースに列を動的に追加する データ管理では、SQLの適応性が重要です。 その場でデータベース構造を調整する必要がありますか? Alter Tableステートメントはあなたの解決策です。このガイドの詳細は、コルを追加します

ビジネスアナリストとデータアナリストビジネスアナリストとデータアナリストApr 17, 2025 am 11:38 AM

導入 2人の専門家が重要なプロジェクトで協力している賑やかなオフィスを想像してください。 ビジネスアナリストは、会社の目標に焦点を当て、改善の分野を特定し、市場動向との戦略的整合を確保しています。 シム

ExcelのCountとCountaとは何ですか? - 分析VidhyaExcelのCountとCountaとは何ですか? - 分析VidhyaApr 17, 2025 am 11:34 AM

Excelデータカウントと分析:カウントとカウントの機能の詳細な説明 特に大規模なデータセットを使用する場合、Excelでは、正確なデータカウントと分析が重要です。 Excelは、これを達成するためにさまざまな機能を提供し、CountおよびCounta関数は、さまざまな条件下でセルの数をカウントするための重要なツールです。両方の機能はセルをカウントするために使用されますが、設計ターゲットは異なるデータ型をターゲットにしています。 CountおよびCounta機能の特定の詳細を掘り下げ、独自の機能と違いを強調し、データ分析に適用する方法を学びましょう。 キーポイントの概要 カウントとcouを理解します

ChromeはAIと一緒にここにいます:毎日何か新しいことを体験してください!!ChromeはAIと一緒にここにいます:毎日何か新しいことを体験してください!!Apr 17, 2025 am 11:29 AM

Google Chrome'sAI Revolution:パーソナライズされた効率的なブラウジングエクスペリエンス 人工知能(AI)は私たちの日常生活を急速に変換しており、Google ChromeはWebブラウジングアリーナで料金をリードしています。 この記事では、興奮を探ります

ai' s Human Side:Wellbeing and the Quadruple bottuntai' s Human Side:Wellbeing and the Quadruple bottuntApr 17, 2025 am 11:28 AM

インパクトの再考:四重材のボトムライン 長い間、会話はAIの影響の狭い見方に支配されており、主に利益の最終ラインに焦点を当てています。ただし、より全体的なアプローチは、BUの相互接続性を認識しています

5ゲームを変える量子コンピューティングの使用ケースあなたが知っておくべきである5ゲームを変える量子コンピューティングの使用ケースあなたが知っておくべきであるApr 17, 2025 am 11:24 AM

物事はその点に向かって着実に動いています。量子サービスプロバイダーとスタートアップに投資する投資は、業界がその重要性を理解していることを示しています。そして、その価値を示すために、現実世界のユースケースの数が増えています

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール