ホームページ バックエンド開発 Python チュートリアル Pytorch を始めるための mnist 分類の例

Pytorch を始めるための mnist 分類の例

Apr 14, 2018 pm 04:00 PM
mnist pytorch

この記事では主に、Pytorch を始めるための mnist 分類の例を詳しく紹介します。興味のある方は参考にしてください。この記事の例は、Pytorch を始めるための mnist 分類の具体的なコードを共有しています。ご参照ください。具体的な内容は次のとおりです

#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'denny'
__time__ = '2017-9-9 9:03'

import torch
import torchvision
from torch.autograd import Variable
import torch.utils.data.dataloader as Data

train_data = torchvision.datasets.MNIST(
 './mnist', train=True, transform=torchvision.transforms.ToTensor(), download=True
)
test_data = torchvision.datasets.MNIST(
 './mnist', train=False, transform=torchvision.transforms.ToTensor()
)
print("train_data:", train_data.train_data.size())
print("train_labels:", train_data.train_labels.size())
print("test_data:", test_data.test_data.size())

train_loader = Data.DataLoader(dataset=train_data, batch_size=64, shuffle=True)
test_loader = Data.DataLoader(dataset=test_data, batch_size=64)


class Net(torch.nn.Module):
 def __init__(self):
 super(Net, self).__init__()
 self.conv1 = torch.nn.Sequential(
  torch.nn.Conv2d(1, 32, 3, 1, 1),
  torch.nn.ReLU(),
  torch.nn.MaxPool2d(2))
 self.conv2 = torch.nn.Sequential(
  torch.nn.Conv2d(32, 64, 3, 1, 1),
  torch.nn.ReLU(),
  torch.nn.MaxPool2d(2)
 )
 self.conv3 = torch.nn.Sequential(
  torch.nn.Conv2d(64, 64, 3, 1, 1),
  torch.nn.ReLU(),
  torch.nn.MaxPool2d(2)
 )
 self.dense = torch.nn.Sequential(
  torch.nn.Linear(64 * 3 * 3, 128),
  torch.nn.ReLU(),
  torch.nn.Linear(128, 10)
 )

 def forward(self, x):
 conv1_out = self.conv1(x)
 conv2_out = self.conv2(conv1_out)
 conv3_out = self.conv3(conv2_out)
 res = conv3_out.view(conv3_out.size(0), -1)
 out = self.dense(res)
 return out


model = Net()
print(model)

optimizer = torch.optim.Adam(model.parameters())
loss_func = torch.nn.CrossEntropyLoss()

for epoch in range(10):
 print('epoch {}'.format(epoch + 1))
 # training-----------------------------
 train_loss = 0.
 train_acc = 0.
 for batch_x, batch_y in train_loader:
 batch_x, batch_y = Variable(batch_x), Variable(batch_y)
 out = model(batch_x)
 loss = loss_func(out, batch_y)
 train_loss += loss.data[0]
 pred = torch.max(out, 1)[1]
 train_correct = (pred == batch_y).sum()
 train_acc += train_correct.data[0]
 optimizer.zero_grad()
 loss.backward()
 optimizer.step()
 print('Train Loss: {:.6f}, Acc: {:.6f}'.format(train_loss / (len(
 train_data)), train_acc / (len(train_data))))

 # evaluation--------------------------------
 model.eval()
 eval_loss = 0.
 eval_acc = 0.
 for batch_x, batch_y in test_loader:
 batch_x, batch_y = Variable(batch_x, volatile=True), Variable(batch_y, volatile=True)
 out = model(batch_x)
 loss = loss_func(out, batch_y)
 eval_loss += loss.data[0]
 pred = torch.max(out, 1)[1]
 num_correct = (pred == batch_y).sum()
 eval_acc += num_correct.data[0]
 print('Test Loss: {:.6f}, Acc: {:.6f}'.format(eval_loss / (len(
 test_data)), eval_acc / (len(test_data))))
ログイン後にコピー

関連する推奨事項:


Pythonがバイナリmnistインスタンスを読み取る方法の詳細な説明

Python_pythonへの優れた入門チュートリアル

以上がPytorch を始めるための mnist 分類の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

iFlytek: ファーウェイの Ascend 910B の機能は基本的に Nvidia の A100 に匹敵しており、我が国の汎用人工知能の新しい基盤を構築するために協力しています。 iFlytek: ファーウェイの Ascend 910B の機能は基本的に Nvidia の A100 に匹敵しており、我が国の汎用人工知能の新しい基盤を構築するために協力しています。 Oct 22, 2023 pm 06:13 PM

本サイトは10月22日、今年第3四半期にiFlytekの純利益は2579万元で、前年同期比81.86%減少し、最初の3四半期の純利益は9936万元で、過去最高を記録したと報じた。前年比76.36%減。 iFlytekのJiang Tao副社長は、第3四半期の業績説明会で、iFlytekが2023年初めにHuawei Shengtengとの特別研究プロジェクトを立ち上げ、中国の一般的な人工知能の新しい基盤を共同で構築するためにHuaweiと高性能オペレータライブラリを共同開発したことを明らかにした。独自の革新的なソフトウェアとハ​​ードウェアによるアーキテクチャを採用し、国内の大規模モデルの使用を可能にします。同氏は、ファーウェイのAscend 910Bの現在の機能は基本的にNvidiaのA100に匹敵すると指摘した。次回開催される iFlytek 1024 グローバル デベロッパー フェスティバルで、iFlytek と Huawei は人工知能コンピューティングのパワー ベースについてさらなる共同発表を行う予定です。彼はまた、次のようにも述べました。

PyCharm と PyTorch の完璧な組み合わせ: 詳細なインストールと構成手順 PyCharm と PyTorch の完璧な組み合わせ: 詳細なインストールと構成手順 Feb 21, 2024 pm 12:00 PM

PyCharm は強力な統合開発環境 (IDE) であり、PyTorch はディープ ラーニングの分野で人気のあるオープン ソース フレームワークです。機械学習とディープラーニングの分野では、開発に PyCharm と PyTorch を使用すると、開発効率とコード品質が大幅に向上します。この記事では、PyCharm に PyTorch をインストールして構成する方法を詳しく紹介し、読者がこれら 2 つの強力な機能をより効果的に活用できるように、具体的なコード例を添付します。ステップ 1: PyCharm と Python をインストールする

Python での SVM の例 Python での SVM の例 Jun 11, 2023 pm 08:42 PM

Python のサポート ベクター マシン (SVM) は、分類および回帰の問題を解決するために使用できる強力な教師あり学習アルゴリズムです。 SVM は、高次元データや非線形問題を処理する場合に優れたパフォーマンスを発揮し、データ マイニング、画像分類、テキスト分類、バイオインフォマティクスなどの分野で広く使用されています。この記事では、Python で分類に SVM を使用する例を紹介します。 scikit-learn ライブラリの SVM モデルを使用します。

自然言語生成タスクと Pytorch コード実装における 5 つのサンプリング方法の紹介 自然言語生成タスクと Pytorch コード実装における 5 つのサンプリング方法の紹介 Feb 20, 2024 am 08:50 AM

自然言語生成タスクにおいて、サンプリング法は生成モデルからテキスト出力を取得する手法です。この記事では、5 つの一般的なメソッドについて説明し、PyTorch を使用してそれらを実装します。 1. 貪欲復号 貪欲復号では、生成モデルは入力シーケンスに基づいて出力シーケンスの単語を時間ごとに予測します。各タイム ステップで、モデルは各単語の条件付き確率分布を計算し、最も高い条件付き確率を持つ単語を現在のタイム ステップの出力として選択します。このワードは次のタイム ステップへの入力となり、指定された長さのシーケンスや特別な終了マーカーなど、何らかの終了条件が満たされるまで生成プロセスが続行されます。 GreedyDecoding の特徴は、毎回現在の条件付き確率が最良になることです。

PyTorchを使用したノイズ除去拡散モデルの実装 PyTorchを使用したノイズ除去拡散モデルの実装 Jan 14, 2024 pm 10:33 PM

ノイズ除去拡散確率モデル (DDPM) の動作原理を詳細に理解する前に、まず、DDPM の基礎研究の 1 つである生成人工知能の開発の一部を理解しましょう。 VAEVAE は、エンコーダー、確率的潜在空間、およびデコーダーを使用します。トレーニング中に、エンコーダーは各画像の平均と分散を予測し、ガウス分布からこれらの値をサンプリングします。サンプリングの結果はデコーダに渡され、入力画像が出力画像と同様の形式に変換されます。 KL ダイバージェンスは損失の計算に使用されます。 VAE の大きな利点は、多様な画像を生成できることです。サンプリング段階では、ガウス分布から直接サンプリングし、デコーダを通じて新しい画像を生成できます。 GAN は、わずか 1 年で変分オートエンコーダ (VAE) において大きな進歩を遂げました。

PyTorch を使用した PyCharm のインストールに関するチュートリアル PyTorch を使用した PyCharm のインストールに関するチュートリアル Feb 24, 2024 am 10:09 AM

PyTorch は、強力な深層学習フレームワークとして、さまざまな機械学習プロジェクトで広く使用されています。強力な Python 統合開発環境として、PyCharm はディープ ラーニング タスクを実装するときに優れたサポートも提供します。この記事では、PyTorch を PyCharm にインストールする方法を詳しく紹介し、読者が深層学習タスクに PyTorch をすぐに使い始めるのに役立つ具体的なコード例を示します。ステップ 1: PyCharm をインストールする まず、PyCharm がインストールされていることを確認する必要があります。

非常に高速! 10 行未満のコードを使用して、わずか数分でビデオ音声を認識してテキストに変換します 非常に高速! 10 行未満のコードを使用して、わずか数分でビデオ音声を認識してテキストに変換します Feb 27, 2024 pm 01:55 PM

皆さん、こんにちは。私は Kite です。2 年前には、オーディオ ファイルとビデオ ファイルをテキスト コンテンツに変換する必要性を実現するのは困難でしたが、今ではわずか数分で簡単に解決できるようになりました。一部の企業では、トレーニングデータを取得するために、DouyinやKuaishouなどのショートビデオプラットフォーム上のビデオをフルクロールし、ビデオから音声を抽出してテキスト形式に変換し、ビッグデータのトレーニングコーパスとして使用していると言われていますモデル。ビデオまたはオーディオ ファイルをテキストに変換する必要がある場合は、現在利用可能なこのオープン ソース ソリューションを試すことができます。たとえば、映画やテレビ番組のセリフが登場する特定の時点を検索できます。早速、本題に入りましょう。 Whisper は OpenAI のオープンソース Whisper で、もちろん Python で書かれており、必要なのはいくつかの簡単なインストール パッケージだけです。

PHP と PyTorch によるディープラーニング PHP と PyTorch によるディープラーニング Jun 19, 2023 pm 02:43 PM

ディープラーニングは人工知能分野の重要な分野であり、近年ますます注目を集めています。深層学習の研究と応用を実施できるようにするには、多くの場合、それを達成するためにいくつかの深層学習フレームワークを使用する必要があります。この記事では、PHPとPyTorchを使ってディープラーニングを行う方法を紹介します。 1. PyTorch とは何ですか? PyTorch は Facebook が開発したオープンソースの機械学習フレームワークで、深層学習モデルを迅速に作成してトレーニングするのに役立ちます。 PyTorc

See all articles